아이템 36. 상속보다는 컴포지션을 사용하라 생략 아이템 37. 데이터 집합 표현에 data 한정자를 사용하라. 생략 아이템 38. 연산 또는 액션을 전달할 때는 인터페이스 대신 함수 타입을 사용하라 결론 : 자바 등에 제공하는 api가 아니라면 SAM(Single-Abstract Method), 즉 @FunctionalInterface 정의할 필요가 없다. 아이템 39. 태그 클래스보다는 클래스 계층을 사용하라 p. 266 태그 클래스와 상태 패턴의 차이 태그 클래스 태그 클래스는 객체의 상태나 동작을 구분하기 위해 사용되는 빈 클래스를 의미한다.주로 다형성을 이용하여 코드를 보다 명확하고 유지보수하기 쉽게 만드는 데 사용된다.태그 클래스 자체에는 데이터나 로직이 포함되지 않으며, 단순히 상태..