본문 바로가기
CS

단일 책임 원칙(SRP)

by 남생이야 2024. 6. 8.

 

단일 책임 원칙(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