본문 바로가기
Study/개념 정리

[Study] 응집도 & 결합도

by chobbo 2024. 5. 27.

응집도

- 모듈 내부 요소 간 연관 정도

- 한 스크립트가 하나의 기능만을 수행하는 것

- 코드의 응집도는 높아야 좋다.

 

결합도

- 외부 모듈 간의 상호 의존성

- 코드는 결합도가 낮아야함

 

- 결합도가 높으면 클래스 간 의존성이 높은 것

-> 한 클래스 수정하면 다른 클래스 수정해야 할 가능성이 높아진다

-> 협업 시 다른 팀원이 코드를 수정하면 내 코드를 수정해야 할 가능성이 높아진다는 뜻... 좋지않군

 

 

결합도를 낮추는 방법?

1. 작은 단위의 여러 인터페이스 사용하기! 

-> 기능 별로 쪼개서 인터페이스 사용하기

-> 협업 시 독립적 프로그래밍 가능 (선언만 인터페이스에서 해주고 구현은 클래스 내에서 해주면 된다)

 

2. 응집도 높이기!

-> 코드 내의 기능들이 그 안에서 수행되고 끝나도록 코딩하기!

 

 

인터페이스의 특징

1. 추상화

-> 인터페이스 내에서 구현하지 않는다.

-> 메서드 선언만 한다

-> 인스턴스화 X(실체가 있는 물체인 객체 생성 X)

 

2. 메서드 시그니처

-> 메서드의 시그니처 (이름, 매개변수, 반환 타입 등)만 정의한다

 

3. 다중 상속 가능

-> 클래스와 달리 여러 인터페이스를 동시에 구현할 수 있다.

-> 다중상속 흉내낼 수 있음

 

4. 강제 구현

-> 인터페이스를 상속받은 스크립트는 해당 인터페이스 내 모든 메서드를 반드시 구현해야함

 

5. 인터페이스 간 확장 가능

 

 

 

'Study > 개념 정리' 카테고리의 다른 글

[Study] 콜백, delegate, event  (0) 2024.07.03
[Study] 객체지향 프로그래밍  (0) 2024.07.02
[Study] 객체와 한정자  (0) 2024.07.01
[Study] 동기 & 비동기  (0) 2024.05.27
[Study] 아크탄젠트  (0) 2024.05.08