개발자 모드

  • 홈
  • 태그
  • 방명록

아이템 50 1

[이펙티브 자바] 적시에 방어적 복사본을 만들라 (Item. 50)

방어적으로 프로그래밍하라 항상 우리는 클라이언트가 우리의 불변식을 깨뜨리려고 혈안이 되어 있다고 가정하고 방어적으로 프로그래밍해야 한다. 아래와 같은 클래스를 불변식으로 만들려고 의도하고 코드를 작성하였다고 해보자. 위 클래스는 불변인가? 그렇지 않다. 기본적으로 final은 기본형인 int와 같은 타입은 변경이 불가능하도록 한다. 하지만 Date와 같은 가변 클래스는 변경이 가능하게 된다. 그 말인 즉슨 Date를 final로 선언하여도 Date 내부의 값을 변경할 수 있다는 뜻이다. 이러한 이유로 Date보다는 자바 8 이후에 등장한 Java.time.Instant나, LocalDateTIme과 같은 불변으로 정의된 클래스를 사용하는 것이 좋다. 하지만 현재 위 코드의 상태로 클라이언트로부터 Peri..

Java 2024.03.21
이전
1
다음
더보기
프로필사진

안녕하세요

  • 분류 전체보기 (205)
    • CS (116)
      • OS (43)
      • Computer Architecture (20)
      • Algorithm (20)
      • Network (10)
      • DB (23)
    • Project (4)
      • Random Photo Matcher (4)
    • Error Record (16)
    • BOJ (11)
      • BFS DFS (7)
      • BackTracking (2)
      • Recursion (1)
    • Java (9)
    • Spring (3)
    • JPA (8)
    • Python (6)
    • 기타 (20)
    • 모각코 (12)

최근글과 인기글

  • 최근글
  • 인기글


최근댓글



Archives

Calendar

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Copyright © Kakao Corp. All rights reserved.

  • GitHub

티스토리툴바