CS 잡지식
객체 지향적 코딩 Tip
JIN_YOUNG _KIM
2023. 5. 2. 10:17
C 언어를 사용하였을 때를 생각해보자.
어떤 한 단위의 로직을 구현하려고 할 때, 전부 main() 함수에서 그 로직을 구현을 하였다.
그러나, 그것은 객체 지향적이지 못하다.
객체 지향적 코딩에서는 [로직(비지니스 로직, 조회 로직 등)을 main과 같은 클라이언트에서 일일이 작성하는 것이 아니라,
되도록, 그 로직과 관련된 클래스에서 메서드로 만들어 놓고 클라이언트에서는 그 메서드를 호출하는 형식으로 만들어야
한다].
그렇지 않으면, 클라이언트 코드 부분이 매우 지저분하여 개발자가 직관적으로 코드를 이해하기 어려울 뿐 아니라,
어떠한 로직에서 에러가 예상이 될 때, 지저분하게 코딩된 클라이언트 코드 여기저기를 찾아 다니면서 에러가 없나 확인을
해야 하는 상황이 생긴다.
만약 어떤 1개의 로직을 관련 있는 클래스에서 메서드로 정의를 해 놓으면, 해당 로직에서 에러가 예상이 될 때,
여기저기 클라이언트 코드를 뒤질 필요 없이, 그 메서드를 사용한 곳과 그 메서드의 정의 내용에서 에러가 없는지,
딱 1곳만 살펴보면 그만이다.
이건 어마어마한 장점이다.
Q. 로직을 어떤 클래스에 정의하는 것이 좋은 걸까?
A. 사실 정답은 없고, 개발자마다 각자 의견이 다르다.
그러나 최소한의 TIP으로서, 그 로직을 정의를 할 때, 필요한 필드값이나 연관 관계 객체가 있을 것이다.
그 필드값,연관 관계 객체가 있는 클래스에서 로직을 정의하는 게 바람직하다.