✏️11.8 생성자를 팩터리 함수로 바꾸기
리팩터링 전
리팩터링 후
🧷 배경
생성자에는 이상한 제약이 따라붙기도 한다. 자바 생성자는 반드시 생성자를 정의한 클래스의 인스턴스를 반환해야 한다. 생성자의 이름도 고정되며, 생성자를 호출하려면 특별한 연산자(new)를 사용해야 한다.
→ 팩터리 함수에는 이런 제약이 없다.
🧷 절차
팩터리 함수를 만든다. 팩터리 함수의 본문에서는 원래의 생성자를 호출한다.
생성자를 호출하던 코드를 팩터리 함수 호출로 바꾼다.
하나씩 수정할 때마다 테스트한다.
생성자의 가시 범위가 최소가 되도록 제한한다.
🧷 예시
🧷 리팩터링 전
🧷 리팩터링 후
Last updated