불변 객체
객체 생성 이후에는 객체의 상태가 바뀌지 않는 객체
불변 객체의 장점
- 이해하기 쉽고 안정적인 서비스 개발에 도움이 된다.
- map, set, cache에 쓰기에 적절하다.
- (일반적으로) thread-safe하다. => 여러 스레드가 하나의 객체를 공유해서 사용할 때 데이터 불일치 없이 사용 가능
- 불변 객체를 필드로 쓰면 방어적 복사를 할 필요가 없다.
Java에서 불변 객체 만들기
- 생성자 제외, 상태를 바꾸는 메서드는 모두 제거
- 모든 필드를 private final로 지정
- final 클래스 지정 => 클래스 상속 금지 == 자녀 클래스의 메서드 오버라이드 금지
- mutable 객체의 레퍼런스를 공유해서 사용하지 말 것. 이를 위해 방어적 복사를 활용
'공부 기록 > 영상 후기' 카테고리의 다른 글
[10분 테코톡] 아마찌의 ORM vs SQL Mapper vs JDBC (0) | 2023.04.02 |
---|---|
[10분 테코톡] 잉, 페퍼의Spring Data JPA 삽질일지 (0) | 2023.04.02 |
[입문용] 프로토콜과 OSI 7 layer 설명! 네트워크의 기능들이 어떻게 구조화 돼서 동작하는지를 설명합니다! (0) | 2023.03.29 |
셸 스크립팅 에센스 E01 - 셸. 커널. 터미널. (shell. kernel. terminal) (0) | 2023.03.29 |
[Talk&Talk] 누구나 쉽게 이해할수 있는 마이크로서비스 아키텍처(MSA) (0) | 2023.03.27 |