인프런 커뮤니티 질문&답변

minho님의 프로필 이미지
minho

작성한 질문수

객체 지향 프로그래밍 입문

캡슐화 예제

캡슐화 연습 2번

작성

·

261

·

수정됨

0

강의 수강 중 캡슐화 2번을 리팩토링 하는 과정에서 궁금한 점이 있습니다!

getFrequentRenterPoints()를 Movie에서 구현을 해주셨는데 daysRented를 파라미터로 넘겨서 RenterPoints를 계산하는 과정에서 대여기간 조건을 2일, 3일 이런식으로 변경점이 생겼을 때 Movie 클래스에서 변경하면 된다고 하셨는데 대여기간 조건 변경이 생겼는데 Movie에서 로직을 변경하는게 맞는가? 라는 의문점이 들었습니다. 

저의 생각은 renterpoint를 계산할 때 Rental 클래스에서 기존의 방식처럼 구현하는게 나중에 변경점이 생겼을 때 더 쉽게 찾을 수 있지 않을까 생각합니다.

혹시 제가 놓치고 있는 부분이 있을까요??

답변 1

0

최범균님의 프로필 이미지
최범균
지식공유자

선택이긴 한데, 이 예에서는 Movie의 priceCode가 포인트 계산의 가장 큰 기준이 되니까 Rental 보다는 Movie에 위치하는 게 더 알맞다고 생각합니다. 영상에서 언급했듯이 마틴 파울러가 쓴 리팩토링 책의 예제를 차용한 것이니, 리팩토링 책을 읽어보시면 도움이 될겁니다.

minho님의 프로필 이미지
minho

작성한 질문수

질문하기