개발 공부 기록

개발 공부 기록

  • 분류 전체보기 (192)
    • spring (41)
      • JPA (19)
      • TEST (4)
      • 비동기 처리 (4)
      • SECURITY (1)
      • BATCH (0)
      • WebFlux (0)
    • 문제풀이 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • java (43)
      • java (39)
      • servlet_jsp (3)
      • jdbc (1)
    • 프론트 (7)
      • html (6)
      • css (1)
    • DB (12)
      • Oracle-기초 (8)
      • Mysql-기초 (4)
      • Redis (0)
    • CS (4)
      • Network (4)
      • 디자인 패턴 (0)
    • Project (0)
      • e-commerce (0)
    • Book (67)
      • 이펙티브 자바 (55)
      • 클린코드 (0)
      • 모던 자바 인 액션 (12)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 공부 기록

컨텐츠 검색

태그

람다 DSL 제네릭 영속성 JPA 백프레셔 단위 테스트 가변인수 메서드 참조 최적화 통합 테스트 배열 Collector Enum 람다식 스트림 인터페이스 상속 조인 이펙티브 자바

최근글

댓글

공지사항

아카이브

불변클래스(1)

  • Item17 - 변경 가능성을 최소화 하라(1)

    불변 클래스란 간단히 말해 그 인스턴스의 내부 값을 수정할 수 없는 클래스다. 불변 클래스는 가변 클래스보다 설계하고 구현하고 사용하기 쉬우며, 오류가 생길 여지도 적고 훨씬 안전하다. 클래스를 불변으로 만드려면 다음 다섯 가지 규칙을 따르면 된다. 1. 객체의 상태를 변경하는 메서드를 제공하지 않는다. 2. 클래스를 확장할 수 없도록 한다. => 하위 클래스에서 불변 클래스를 상속 받아 객체의 상태를 변경하는 메서드를 제공한다면 상속 받은 클래스도 부모 타입으로 타입 캐스팅해 쓸 수 있기 때문에 불변이 깨지게 된다. 그러니 불변 클래스를 final로 선언하거나 생성자를 private으로 만들면 된다. 3. 모든 필드를 final로 선언한다.(쓸 수 있으면 최대한 써라!) => 이러면 객체의 상태를 변경..

    2023.11.29
이전
1
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바