응집도
- 모듈 내부 요소 간 연관 정도
- 한 스크립트가 하나의 기능만을 수행하는 것
- 코드의 응집도는 높아야 좋다.
결합도
- 외부 모듈 간의 상호 의존성
- 코드는 결합도가 낮아야함
- 결합도가 높으면 클래스 간 의존성이 높은 것
-> 한 클래스 수정하면 다른 클래스 수정해야 할 가능성이 높아진다
-> 협업 시 다른 팀원이 코드를 수정하면 내 코드를 수정해야 할 가능성이 높아진다는 뜻... 좋지않군
결합도를 낮추는 방법?
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 |