본문 바로가기

GD's IT Lectures : 기초부터 시리즈/자바(JAVA) 기초부터 ~47

[자바(JAVA)] Reflection API 21. Reflection API 21.1. 리플렉션 개념 자바 Reflection API는 실행 중인 자바 애플리케이션에서 클래스, 메서드, 필드 등의 정보를 분석하고 조작할 수 있는 기능을 제공합니다. 이는 컴파일 시간에는 알 수 없는 클래스와 그 클래스의 멤버들에 접근할 수 있는 방법을 제공합니다. Reflection API는 다양한 자바 라이브러리 및 프레임워크에서 사용되며, 특히 자바 프레임워크의 핵심 기능 중 하나인 스프링 프레임워크에서도 중요한 역할을 합니다 21.2. Class 클래스 Reflection API에서 핵심적인 클래스는 java.lang.Class입니다. Class 클래스는 JVM에서 로드된 클래스의 정보를 제공합니다. 즉, 클래스의 이름, 패키지, 메서드, 필드 등의 정보를 .. 2023. 4. 28.
[자바(JAVA)] 날짜와 시간 처리 20. 날짜와 시간 처리 자바에서 날짜와 시간을 처리하는 방법에는 여러가지가 있습니다. 이 강좌에서는 java.util.Date와 java.util.Calendar 클래스를 살펴보고, Java 8에서 도입된 java.time 패키지의 여러 클래스와 기능을 알아보겠습니다. 20.1. java.util.Date와 java.util.Calendar 클래스 Date 클래스는 1970년 1월 1일부터 현재까지의 시간을 밀리초 단위로 표현합니다. 이를 사용하여 현재 시간이나 특정 시간을 생성할 수 있습니다. Date currentDate = new Date(); Date specificDate = new Date(1633036800000L); Calendar 클래스는 날짜와 시간을 처리하는 데 더 많은 기능을 제공.. 2023. 4. 28.
[자바(JAVA)] 파일과 디렉터리 19. 파일과 디렉터리 19.1. File 클래스 자바에서 파일과 디렉터리를 관리하는 기본 클래스는 File 클래스입니다. java.io 패키지에 포함되어 있으며, 파일 및 디렉터리의 경로를 표현하고, 관련 작업을 처리하는 데 사용됩니다. File 객체를 생성할 때에는 파일이나 디렉터리의 경로를 인자로 전달해주어야 합니다. import java.io.File; public class Main { public static void main(String[] args) { File file = new File("test.txt"); File directory = new File("src/main/resources"); } } 19.2. 파일 및 디렉터리 생성, 삭제, 조회 File 클래스를 사용하면 파일 및 .. 2023. 4. 28.
[자바(JAVA)] 입출력 (I/O) 18. 입출력 (I/O) 18.1. 입출력 스트림 개념 자바에서 입출력(I/O)은 데이터를 읽고 쓰는 작업을 처리하는 데 사용됩니다. 자바는 입출력을 위한 스트림(Stream)이라는 개념을 도입하여, 데이터를 읽고 쓰는 작업을 추상화하여 처리합니다. 스트림은 단방향 통신 채널로, 입력 스트림은 데이터를 읽는 작업을, 출력 스트림은 데이터를 쓰는 작업을 수행합니다. 18.2. 바이트 스트림 (InputStream, OutputStream) 바이트 스트림은 바이트 단위로 데이터를 처리하는 입출력 스트림입니다. InputStream과 OutputStream은 바이트 스트림의 기본 클래스로, 주로 바이너리 파일이나 네트워크 통신 등 바이트 단위의 데이터 처리에 사용됩니다. 대표적인 하위 클래스로 FileInpu.. 2023. 4. 28.
[자바(JAVA)] 스트림 API 17. 스트림 API 스트림(Stream) API는 자바 8에서 추가된 기능으로, 데이터를 처리하는 데 도움이 되는 함수형 프로그래밍 도구입니다. 스트림 API를 사용하면 복잡한 연산을 쉽게 처리할 수 있으며, 코드의 가독성을 향상할 수 있습니다. 17.1. 스트림 API 개요 스트림은 데이터 소스에서 데이터를 읽고, 중간 연산과 최종 연산을 통해 결과를 생성합니다. 스트림은 함수형 프로그래밍과 람다 표현식을 활용하여 간결하고 가독성 있는 코드 작성을 지원하며, 병렬 처리를 통한 성능 향상도 지원합니다. 17.2. 스트림 생성 스트림은 다양한 데이터 소스로부터 생성할 수 있습니다. 주로 컬렉션, 배열, I/O 채널, 생성자 등을 통해 스트림을 생성합니다. // 컬렉션에서 스트림 생성 List list =.. 2023. 4. 28.
[자바(JAVA)] 함수형 프로그래밍과 람다 16. 함수형 프로그래밍과 람다 자바 함수형 프로그래밍(Functional Programming)은 함수의 조합으로 프로그램을 작성하는 프로그래밍 패러다임입니다. 자바 람다 표현식(Lambda Expression)은 함수형 프로그래밍을 지원하는 주요 기능 중 하나입니다. 16.1. 함수형 프로그래밍 개념 함수형 프로그래밍(Functional Programming)은 프로그램을 작성할 때 순수 함수와 불변성을 중심으로 한 프로그래밍 패러다임입니다. 함수형 프로그래밍은 데이터 변화와 상태 변경을 최소화하여 버그 발생을 줄이고, 코드의 가독성과 테스트 용이성을 향상합니다. 자바 8부터 함수형 프로그래밍 기능이 추가되었으며, 람다 표현식, 메서드 참조, 스트림 API 등을 사용할 수 있습니다. 16.2. 람다 .. 2023. 4. 28.