개발자 모드

  • 홈
  • 태그
  • 방명록

적시에 방어적 복사본을 만들라 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. 05  
일 월 화 수 목 금 토
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 31

Copyright © Kakao Corp. All rights reserved.

  • GitHub

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.