2026/01/30 3

[05] 객체 직렬화

01. 객체 직렬화와 역직렬화1. 객체 직렬화 (Seriallzation)객체 직렬화란 메모리에 존재하는 객체를 바이트(byte) 형태로 변환하여 저장 및 전송할 수 있도록 만드는 과정을 의미한다. 이러한 객체 직렬화는 휘발성 메모리에 임시로 저장됐다가 사라지는 객체를 파일, 데이터베이스(DB), 네트워크 전송 데이터와 같은 외부 자원으로 변환할 때 사용된다. 대표적인 클래스 ObjectOutputStream객체를 바이트 스트림으로 변환하여 파일 등에 저장FileOutputStream실제 파일에 데이터를 기록하는 역할 import java.io.FileOutputStream;import java.io.ObjectOutputStream;public class SerializeExample { publ..

[04] File I/O 기초와 활용

01. 기본 File I/O 이해1. 파일 시스템(File System)파일 시스템이란 데이터를 디렉터리와 파일 단위로 저장 및 관리하는 구조를 의미한다. 파일은 바이트(byte) 단위로 구성되며, 하드디스크를 비롯한 SSD 등의 물리 저장 장치에 위치해있다. Java에서는 이러한 파일 시스템을 File 클래스를 통해 추상화하여 다룰 수 있다. 절대 경로(Absolute Path)상대 경로(Relative Path)정의루트 디렉토리부터 시작하는 전체 경로현재 작업 디렉토리 기준으로 표시하는 경로예시윈도우 [C:\myWs\project\test-file.txt]맥: [/home/user/project/test-file.txt][./test-file.txt] | [../images/logo.png] Fil..

[03] 제네릭 타입과 메서드

01. 제네릭 (Generic)제네릭이란 클래스나 메서드의 코드를 작성할 때, 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화해 두는 것을 의미한다. 즉, 작성한 클래스 또는 메서드의 코드가 특정 데이터 타입에 얽매이지 않게 해 둔 것을 뜻한다. 1. 제네릭 클래스 (Generic Class)이처럼 제네릭이 사용된 클래스를 제니릭 클래스라고 하며, 형식을 통해 클래스 내부에서 사용할 타입 파라미터를 선언할 수 있다. 하지만 모든 인스턴스가 공유하는 클래스 변수에는 제네릭을 사용할 수 없다. 왜냐하면 만약 제네릭을 통해 클래스 변수의 타입을 유동적으로 변환할 수 있도록 한다면, 그는 모든 인스턴스가 공유해야 하는 클래스 변수의 타입을 다르게 만들어 궁극적으로 모든 인스턴스가 해당..