빌더 패턴 없는 올바른 문제 해결법

StringBuilder의 경우 toString() 메서드는 String 개체를 반환하기 때문에 올바른 빌더 패턴

메서드를 호출 안 하는 실수를 막으려면?

매개변수를 구조체처럼 받기
- 빼먹거나 순서 바뀌는 실수를 그나마 줄일 수 있음
- DTO 개념
CreateEmployeeParams클래스의 멤버 변수를 모두final키워드로 선언하면 반드시 초기화하도록 컴파일 시점에 강제할 수 있음- 엥,
Employee클래스 멤버 변수에final을 붙이면 안 되나요? → 이건 멤버 변수의 성격에 따라 결정해야 함. 멤버 변수가 변할 수 있으면?CreateEmployeeParams클래스의 경우 멤버 변수 값을 전달하는 용도이기 때문에 모두final로 해도Employee클래스의 성격에 영향을 주지 않죠
- 엥,

- 완벽한 방법은 아님

named parameter

코틀린에서도 이거 활용하면 좋죠
- 최근 언어는 거의 있음

디자인 패턴의 많은 것은 언어에서 자체 지원이 있다면 사용할 필요 없다는 명제를 보충하는 사례