단일 책임 원칙(Single Responsibility Rrinciple)
단일 책임 원칙은 객체지향 프로그래밍에서 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 말한다.
하나의 클래스에는 하나의 기능만을 위한 것들을 정의해야 한다. 예를 들면 플레이어 클래스는 여러 가지 행동을 취할 수 있다.
- 입력 받기
- 이동하기
- 소리 내기
그러나 이는 단일 책임 원칙에 위배된다. 이를 원칙에 따른다면. 각각의 기능을 별도의 클래스로 정의하고 이를 플레이어 클래스에게 컴포넌트 형식이나 멤버 변수로 전달한다.
단일 책임 원칙의 장점
1. 가독성 향상 - 단일 기능으로 분리하였기 때문에 코드의 길이가 전체적으로 짧아져 읽기가 수월하다.
2. 확장성 용이 - 하나의 기능으로 이루어졌기 때문에 해당 클래스를 상속받아 확장하기 쉽다.
3. 재사용성 향상 - 단일 기능으로 정의했기 때문에 여러 클래스에서 재사용할 수 있다.
'CS' 카테고리의 다른 글
씬 그래프(Scene graph) (0) | 2024.06.13 |
---|---|
메모리 인터리빙(Memory Interleaving) (0) | 2024.06.11 |
쓰레드와 프로세스의 차이 (0) | 2024.06.05 |
추상화, 가상화 (0) | 2024.06.05 |
제네릭 (0) | 2024.05.26 |