본문으로 바로가기
dobidugi
목록으로
강의

메서드 추출 리팩토링

4분
목차

리팩토링의 출발점인 “긴 메서드를 작은 메서드로 나누기(메서드 추출)“의 이유·원칙·이름짓기·단일 추상화 수준 원칙을 다루는 강의

리팩토링은 어디서 시작하나

📝 NOTE 정의 메서드 추출 리팩토링: 이해하기 어려운 긴 메서드에서, 의도를 명확히 표현하는 작은 메서드를 뽑아내는 것.

📌 IMPORTANT 여러 리팩토링 패턴 중 메서드 추출이 가장 중요하다. 작은 메서드가 다른 모든 리팩토링의 기반이 되기 때문.

메서드를 작게 만들면 좋은 점

메서드 이름 짓기

📌 IMPORTANT 메서드 이름은 어떻게 구현하는지(How)가 아니라 무엇을 하는지(What) 를 표현해야 한다. (강의에서 두 번 강조)

추출 기준은 “길이”가 아니라 “의미적 차이”

메서드를 추출하는 3가지 이유

  1. 가독성 향상 ← 가장 중요
  2. 중복 제거
  3. 의존성 고립

1) 가독성 — 단일 추상화 수준 원칙

📝 NOTE 정의 단일 추상화 수준 원칙: 하나의 메서드 안 모든 코드를 같은 추상화 수준에 두는 것. 저수준 코드와 고수준 코드가 섞이면 이 원칙을 위반한다.

섞여 있을 때의 문제 (게임 클래스 run 메서드 예시)

💡 TIP 해결 — 조합 메서드 패턴 추상화 수준을 동일하게 맞추면, 세부 구현을 몰라도 메서드의 목적을 한눈에 파악할 수 있다. 같은 수준의 코드들을 조합해 메서드를 구현하는 방식을 조합 메서드 패턴이라 부른다. 단일 추상화 수준 원칙을 따르는 메서드는 자연히 조합 메서드 형태가 된다.

2) 중복 제거

3) 의존성 고립

핵심 요약



이전 글
ECS 배포·롤백
다음 글
조합 메소드로 run 메소드 리팩토링하기