[클린코드] 클래스

2021-12-11
  • OOP

Class

클래스는 작아야한다.

  • 클래스는 책임이 적어야 한다.
    • 클래스와 메서드 둘다 크기가 작아야하지만, 메서드는 물리적인 행 수가 적어야 한다면 클래스는 책임이 적어야한다.
  • 클래스의 이름은 해당 클래스의 책임을 기술해야한다.
    • 모호한 단어가 있다면 클래스에 여러 책임을 떠안겼다는 증거이다.

단일 책임 원칙 (SRP)

  • 클래스나 모듈을 변경할 이유가 단 하나 뿐이어야 한다. (요구사항 등의 변화로 인해 특정 클래스를 변경해야 하는 경우는 단 한 가지 뿐이어야 한다. )
  • 작은 클래스 여러개로 이루어진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 하나이며, 변경할 이유 역시 하나이다. 다른 작은 클래스와 협력하여 시스템에 필요한 동작을 수행한다.

응집도

클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다. 일반적으로 메서드가 변수를 더 많이 사용할수록, 메서드와 클래스의 응집도가 높아진다.

  • 응집도가 높다는 말은 클래스에 속한 메서드와 변소가 서로 의존하며 논리적인 단위로 묶인다는 뜻이다.
Profile picture

2yeseul

트리플에서 백엔드 개발을 맡고 있습니다. 무한 삽질을 기록합니다. ⚒️