결합도가 높은 프로그램

pitbull terrier·2021년 6월 4일
0

스프링

목록 보기
3/5

결합도가 높은 프로그램

결합도란 하나의 클래스가 다른 클래스와 얼마나 많이 연결되어 있는지를 나타내는 표현이며, 결합도가 높은 프로그램은 유지보수가 어렵다.
결합도와 유지보수 관계를 이해하기 위해서 간단한 실습을 해보자.

실습


SamsungTV 클래스에는 TV 시청에 필요한 필수 기능인 네 개의 메소드가 있다.
LgTV 클래스도 작성한다.

LgTV 클래스에도 SamsungTV 클래스와 같은 기능을 수행하는 메소드가 있지만
SamsungTV의 메소드 이름과 다르다.
이제 이 두 클래스를 번갈아 사용하는 TVUser 프로그램을 구현할꺼다.

출력결과


이제 SamsungTV를 시청하는 TVUser 프로그램을 LgTV를 시청하는 프로그램으로 수정해보자.

출력결과


SamsungTV와 LgTV는 메소드 시그니처가 다르므로 TVUser 코드 대부분을 수정해야 TV를 교체할 수 있다.
현재 상태에서는 두 TV 클래스가 같은 메소드를 가지게끔 할 어떤 수단도 없다.
만약 TVUser와 같은 클라이언트 프로그램이 하나가 아니라 여러 개라면 유지보수는 더욱더 힘들것이다.

profile
yoonbitnara.github.io

0개의 댓글