LISTORY
코드 리팩토링 [ 잘못된 소속 / 데이터 뭉치 ] 본문
잘못된 소속
흔히 객체를 설명할 때, 붕어빵과 붕어빵 틀로 설명하곤 한다.
붕어빵 틀은 클래스이고, 팥 붕어빵, 피자 붕어빵 처럼 각각이 틀에서 나오는 것을 객체라고 한다.
즉, 객체는 데이터와 메서드를 가지고 있는 하나의 묶음이라 할 수 있다.
이러한 객체가 본인이 가지고 있는 데이터나 메소드보다, 다른 클래스가 가지고 있는 데이터나 메소드에 더 많이 접근한다면
그건 그 데이터, 또는 매소드의 위치를 잘못 지정했다는 뜻이다.
이러한 데이터나 메소드가 있다면 메소드 이동을 하여 적절한 위치를 지정해주어야 한다.
하지만 하나의 메소드가 여러 클래스에 있는 기능을 이용할 때엔 어떻게 해야 할까?
이럴 때엔 클래스마다 사용되는 부분을 쪼갤 수 있는 만큼 쪼개어, 많이 사용되는 클래스로 이동하는 편이 가장 알맞다.
데이터 뭉치
프로그램을 짤 때, 몇몇 데이터들은 함께 같이 필요로 할 때가 많다.
예를 들어 동물이라는 데이터가 있으면, 그 동물을 표현하는 여러 가지 변수들은 함께 붙어다닐 경우가 많을 것이다.
이렇게 붙어다니는 데이터들을 데이터 뭉치라 부르는데, 이 데이터 뭉치는 하나의 객체로 만들어 주는 것이 좋다.
일단, 데이터 뭉치를 하나의 클래스로 만들어 주고 이를 객체로 만든다.
만들어진 객체는 데이터 뭉치를 사용하는 부분들을 간단하고 깔끔하게 보이도록 전환시켜줄 수 있다.
이렇게 데이터 뭉치들을 클래스화하여 객체로 전환하면, 어떠한 부분이 잘못 소속되어 있는지도 쉽게 알 수 있다.
잘못 소속된 부분들은 알맞는 클래스에 넣거나 새로운 클래스를 생성하여 넣어주어야 한다.
'IT > 리팩토링' 카테고리의 다른 글
코드 리팩토링 [ 지나친 관여 / 인터페이스가 다른 대용 클래스 / 미흡한 라이브러리 클래스 ] (0) | 2018.04.22 |
---|---|
코드 리팩토링 [ 강박적 기본 타입 사용 / switch 문 ] (0) | 2018.04.01 |
코드 리팩토링 [ 기능의 산재 ] (0) | 2018.04.01 |
코드 리팩토링 [과다한 매개변수 / 수정의 산발] (0) | 2018.03.24 |
코드 리팩토링 [중복코드 / 장황한 메서드 / 방대한 클래스] (0) | 2018.03.24 |