본문 바로가기 메뉴 바로가기

Development Diary

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Development Diary

검색하기 폼
  • 분류 전체보기 (144)
    • Java (74)
      • Effective Java (72)
      • Algorithm (0)
    • Spring (44)
      • Spring MVC (5)
      • Spring Framework (10)
      • Spring Data (9)
      • Spring Batch (0)
      • Spring Security (9)
      • Spring HATEOAS (0)
      • Spring Setting (6)
      • Spring Cloud (3)
      • Spring Template (1)
    • AWS (1)
    • DB (2)
    • Paper (0)
    • CS (2)
    • Project (16)
    • 잡다구리 (5)
  • 방명록

effective java item38 (1)
  • 분류 전체보기 (144)
    • Java (74)
      • Effective Java (72)
      • Algorithm (0)
    • Spring (44)
      • Spring MVC (5)
      • Spring Framework (10)
      • Spring Data (9)
      • Spring Batch (0)
      • Spring Security (9)
      • Spring HATEOAS (0)
      • Spring Setting (6)
      • Spring Cloud (3)
      • Spring Template (1)
    • AWS (1)
    • DB (2)
    • Paper (0)
    • CS (2)
    • Project (16)
    • 잡다구리 (5)
[Item38] Enum 확장 시켜버리기

자바의 enum은 타입 안전한 상수를 선언하기 위한 야무진 도구다 Java1.5부터 등장했고 상수 집합을 나타내는 특별한 데이터 타입이다 다만 모든 것이 일장일단이 있듯 enum도 상속할 수 없다는 단점이 존재한다 우선 왜 enum은 상속할 수 없는지 그 이유부터 알아보자 가능한 값들의 닫힌 집합을 만들기 위해서다 닫힌 집합이란 컴파일 시점에 가능한 값들을 모두 알기 위해서고 이 방식이 개발자나 컴파일러 모두에게 이롭다고 한다 확장이 가능하다면 메서드의 인자로 A라는 enum을 받는 경우 리스코프 치환 원칙에 따라 A를 상속한 B라는 enum도 받을 수 있어야 한다 이런 경우 switch-case에서 사용할 수 없다 - switch(A) 라고 선언했는데 런타임에 B가 들어올 수 있다면 모든 case에 대..

Java/Effective Java 2022. 3. 21. 20:08
이전 1 다음
이전 다음
링크
  • GitHub 🐼
글 보관함
«   2025/07   »
일 월 화 수 목 금 토
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
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바