자바로 배우는 리팩토링
메소드 추출
킹차니
2021. 12. 31. 22:25
메소드 추출
하나의 메소드 안에 이런저런 세세한 처리가 많다면, 그러한 처리들을 묶어서 나누고 독립된 메소드로 추출한다. 추출한 메소드에는 적절한 이름을 붙힌다.
아주아주 간단한 예로 content를 입력하면 원하는 횟수만큼 출력해주는 배너가 있다고 해보자.
메소드 추출 전의 코드는 아래와 같다.
이를 실행보면
실행결과:
현재 Banner클래스의 print메소드를 보면 길어서 읽기가 어렵다.
테두리 출력 부분과 컨텐츠 출력 부분을 나눠서 메소드로 작성해보자.
그 전에 메소드 추출을 할 때는 몇가지 권장 사항이 있다.
1. 메소드 이름은 중요하다 되도록이면 '동사 + 명사'로 하자!
2. 새로운 메소드는 외부에서 호출하지 못하게 private으로 하자. (혹시 메소드가 변경되어야 한다면 외부의 코드들도 수정해주어야 한다.)
3. 지나치게 짧은 코드를 메소드로 만들면 코드가 더욱 복잡해지므로, 신중하게 메소드 추출을 하자!
이제 메소드 추출을 적용한 Banner클래스를 보자.