강한 응집 낮은 결합
- 응집
루틴 안의 오퍼레이션이 얼마나 긴밀히 관련 있는가?
- 결합
두 루틴 사이의 연결 강도

소프트웨어 개발 관점
- 개념적
구현과 관계없는 추상적인 부분 : 무엇을
- 명세적
소프트웨어 인터페이스 수준 (구현이 아닌)
- 구현적
구체적인 원시 코드 수준 : 메소드, 어떻게
Visibility
- Public
누구나 접근 가능
- Protected
해당 클래스와 파생 클래스만 접근 가능
- Private
해당 클래스 내에서만 접근 가능
캡슐화
- 사용자가 구현에 대해 걱정할 필요 없음
- 사용자를 걱정하기 않고 구현 변경 가능
- 객체의 내부는 외부에 알려지지 않음