ordinal 메서드 대신 인스턴스 필드를 사용하라 대부분의 열거 타입 상수는 자연스럽게 하나의 정숫값에 대응한다. 그리고 ordinal은 몇 번째 위치인지 반환해주는 메서드이다. 하지만 이 메서드는 치명적인 단점이 존재한다. public enum BadOrdinal { SOLO, DUET, TRIO, QUARTET, QUINTET, SEXTET, SEPTET, OCTET, NONET, DECTET; public int numberOfMusician() { return ordinal() + 1; } } 동작은 하지만 유지보수에 정말 좋지 않은 코드이다. 상수 선언 순서를 바꾸는 순간 오동작하며 복합 4중주도 똑같은 8명이지만 이미 8중주 상수가 존재하기 때문에 추가할 수 없다. 해결책은 열거 타입 상수에..
Abstract 클래스는 엄연히 클래스이기 때문에 1개밖에 상속을 받을 수 없으나 interface는 다중 구현이 가능하다는 대표적인 차이가 있습니다. 다만 제 경험을 살려 잘못된 추가적인 오해가 있을 법한 사항이 있어 글을 적었습니다. Interface는 abstract 클래스와 달리 내부 구현이 안되지 않아? 이런 생각을 할 분이 분명 있다고 생각한다. Interface 내부에 기능 구현은 흔치 않은 상황이기 때문이다. 정답을 먼저 말씀드린다면 그렇지 않다. Why? Interface는 JDK 8 버전 이후 부터 static 메서드 외에도 default 메서드를 지원합니다. 이는 기존에 사용되는 interface에 문제점인 한 번 배포되면 수정이 어렵다는 점을 해결하고 있습니다. 핵심은 이것이 아니기..
- Total
- Today
- Yesterday
- CS
- 프로그래밍
- JPA
- Redis
- Spring
- MySQL
- docker
- DB
- 개발
- 면접
- 인터뷰
- 면접 준비
- 백엔드
- Kotlin
- 동시성
- 개발자
- 코딩
- 취업
- swarm
- DevOps
- 코드
- thread
- IT
- 프로젝트
- 면접준비
- 취업준비
- 게시판
- 취준
- 자바
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |