Skip to content

Latest commit

 

History

History
12 lines (8 loc) · 916 Bytes

12.3 생성자 본문 올리기.md

File metadata and controls

12 lines (8 loc) · 916 Bytes
  • 기능이 같은 메서드를 발견하면, 함수 추출하기와 메서드 올리기(12.1절, 한마디로 중복 코드 제거이다.)를 차례로 적용해 슈퍼 클래스로 옮긴다.
  • 근데 그 메서드가 생성자라면 ???? 조금 다른식으로 접근해야함.

절차

  1. 슈퍼클래스에 생성자가 없다면 하나 정의한다. 서브클래스의 생성자들에서 이 생성자가 호출되는지 확인한다.
  2. 문장 슬라이드하기로 공통 문장 모두를 super() 호출 직후로 옮긴다.
  3. 공통 코드를 슈퍼클래스에 추가하고 서브클래스들에서는 제거한다. 생성자 매개변수 중 공통 코드에서 참조하는 값들을 모두 super()로 건넨다.
  4. 테스트한다.
  5. 생성자 시작 부분으로 옮길 수 없는 공통 코드에는 함수 추출하기와 메서드 올리기를 차례로 적용한다.