본문 바로가기

분류 전체보기189

[자바(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.
[자바(JAVA)] 컬렉션 프레임워크 15. 컬렉션 컬렉션 프레임워크란, 데이터 구조와 알고리즘을 제공하는 자바의 표준 라이브러리로서, 개발자들이 데이터를 효과적으로 저장, 관리, 조작할 수 있도록 도와주는 일련의 클래스와 인터페이스의 모음입니다. 15.1. 컬렉션 프레임워크 개요 컬렉션 프레임워크는 여러 개의 데이터를 저장하고 관리하기 위한 표준화된 클래스들의 집합입니다. 자바에서는 주로 List, Set, Map이라는 인터페이스를 기반으로 한 클래스들을 제공하고 있습니다. 컬렉션 프레임워크를 사용하면 데이터를 효율적으로 저장, 검색, 삭제, 정렬 등 다양한 연산을 수행할 수 있습니다. 15.2. List, Set, Map 인터페이스 List: 순서가 있는 데이터를 저장하는 인터페이스로, 중복된 데이터를 허용합니다. 주요 메서드로는 add.. 2023. 4. 28.
[자바(JAVA)] 제네릭 14. 제네릭 14.1. 제네릭 개념 제네릭(Generic)은 자바에서 타입 안정성을 보장하고, 코드 중복을 줄이기 위해 도입된 기능입니다. 제네릭을 사용하면 클래스나 메서드에서 사용할 타입을 미리 지정하지 않고, 호출하는 시점에서 타입을 결정할 수 있습니다. 이를 통해 다양한 타입에 대응하는 하나의 클래스나 메서드를 작성할 수 있습니다. 제네릭은 꺾쇠괄호() 안에 타입 매개변수를 표시하여 사용합니다. 14.2. 제네릭 클래스와 인터페이스 제네릭 클래스는 클래스 선언 시 타입 매개변수를 사용하여 클래스를 정의합니다. 이렇게 정의된 클래스는 객체 생성 시 타입을 명시하여 인스턴스를 생성할 수 있습니다. 제네릭 인터페이스도 제네릭 클래스와 동일한 방식으로 정의하며, 구현 클래스에서 타입을 명시하여 사용할 수.. 2023. 4. 28.