학습 목표
Enum
- enum 을 알고 있다
- enum 을 활용해서 조건문을 제거할 수 있다.
Exception
- exception 이 뭔지 설명할 수 있다.
- runtime exception, checked exception 차이를 설명할 수 있다.
- 상황에 맞는 예외처리 전략을 생각할 수 있다.
Enum
- 클래스를 상수로 사용할 수 있다
- 요구사항이 추가되어 변경이 자주 일어나는 부분을 묶어둘 수 있음 → 분리 가능
- IntBinaryOperate → 람다식 왜 사용하지...?
- 싱글톤 : 클래스 하나 당
인스턴스 객체
가 하나만 존재하는 구조
- Boolean : TRUE / FALSE 하나씩만 존재함
- 인스턴스를 하나만 생성할 수 있도록 보장하므로 방어적인 코드를 추가하지 않아도 됨
- 미리 인스턴스 객체 생성, 리플렉션, synchronized
- Enum 으로 생성한 인스턴스의 값을 수정하면 해당 인스턴스를 사용하는 모든 코드에 영향이 있을 수 있음
Exception
- Checked vs unchecked
- 컴파일러 체크 여부에 따라 구분
- 개발자의 의도를 나타내기 위해 구분하여 사용
- 예외 처리를 하는 방법 4가지
- 어차피 처리를 해야하므로 최근에는 체크드 입셉션이 사라지는 추세임
- 예외를 상수처리 하여 사용하면 생성되는 시점에 콜스택에 담기기 때문에 예외가 실제로 발생했을 때 어느 시점 때문에 발생한 예외인지 파악이 어려움