강의

멘토링

커뮤니티

Inflearn Community Q&A

gyutae1000765's profile image
gyutae1000765

asked

Introduction to Object Oriented Programming

Separation of functions and responsibilities

기능 분리 기준에 대한 질문이 있습니다.

Resolved

Written on

·

338

1

계산 분리 및 연동 분리에서 보면 분리 단위를 별도 객체를 통해 분리를 예시로 들어주시고 있으십니다.

별도 객체로 분리하는 게 1장에서 배운 측면에서 유리하겠지만 어떠한 특정한 경우에는 별도 객체가 아닌 별도 메서드로 분리하는 게 유리하지 않을까란 생각이 듭니다.

문제는 그게 어떠한 특정한 경우인지 모르겠습니다. 

강사님께서는 무조건적으로 분리 시 객체 단위로 분리하시나요 아니면 특정한 경우에 대해서는 메서드를 통해 분리를 하시는 지 궁금합니다.

감사합니다.
이상입니다.

oop

Answer 2

5

madvirus0123님의 프로필 이미지
madvirus0123
Instructor

별도 객체, private 메서드, 다른 클래스의 static 메서드 등으로 분리할 수 있을 텐데, 저는 독립적으로 테스트하고 싶은 대상인지 따져보는 편입니다. 독립적으로 테스트하고 싶은 경우 별도 객체나 static 메서드로 분리해서 분리한 대상을 테스트합니다.

또 단위 테스트 가능성도 따져 봅니다. 단위 테스트하기 힘든 구조일 때 일부 코드 블록을 별도 객체로 분리해서 대역(mock 등)으로 대체할 수 있는 구조로 만듭니다.

테스트에 큰 이점이 없으면 별도 클래스로 분리하지 않고 private 메서드로 분리하는 정도만 합니다.

 

0

gyutae1000765님의 프로필 이미지
gyutae1000765
Questioner

답변이 이해가 되었습니다. 감사합니다.

gyutae1000765's profile image
gyutae1000765

asked

Ask a question