Language/Java
-
[Java] Serializable 이란?Language/Java 2025. 4. 23. 17:50
✅ 자바에서 Serializable을 사용하는 이유1. 객체를 저장하거나 전송할 수 있게 하기 위해 Serializable을 구현하면 자바 객체를 바이트 형태로 변환할 수 있어 다음과 같은 작업이 가능합니다: 파일에 저장 네트워크를 통해 전송 메모리에 저장하여 캐싱2. 특정 상황에서 필요 RMI(Remote Method Invocation) HTTP 세션 저장 객체 복사 시✅ Serializable의 장점 간단한 구현 (implements Serializable) 자바 표준 직렬화 도구 제공 재사용성 향상✅ 사용 시 주의사항 serialVersionUID 명시 권장 모든 필드는 직렬화 가능한 타입이어야 함✅ 예제 코드// Person.javaimport java.io.Serializ..
-
[Java] 리플렉션 (reflection) 에 대해 알아보자!Language/Java 2025. 4. 23. 15:13
Java 리플렉션(Reflection)이란?Java의 리플렉션은 런타임에 객체의 클래스 정보에 접근하거나 메서드를 호출하고, 필드를 읽거나 쓸 수 있게 해주는 기능입니다. 보통은 컴파일 타임에 클래스 정보를 사용하지만, 리플렉션을 사용하면 프로그램 실행 중에 유연하게 객체를 다룰 수 있습니다.ObjectMapper, ModelMapper, MapStruct와 리플렉션1. ObjectMapper (Jackson)ObjectMapper는 JSON과 Java 객체 간의 직렬화/역직렬화를 담당하는 Jackson 라이브러리의 핵심 클래스입니다. 내부적으로 리플렉션을 사용하여 객체의 필드를 분석하고 값을 읽거나 씁니다.ObjectMapper mapper = new ObjectMapper();User user = m..