[SOLID] SRP: Single Responsibility Principle

코르피·2022년 9월 27일
0

SOLID

목록 보기
2/2

SRP: Single Responsibility Principle

단일 책임 원칙
클래스는 단 하나의 역할을 가져야 한다.
여기서 역할이란 굉장히 주관적일 수 있다.

예를들어 커피숍이라는 클래스가 있다고 치자.
커피숍은 커피를 만드는 메서드와 커피 메뉴를 가져와서 보여주는 메서드가 있다면
역할은 어디까지일까?
커피숍이니까 커피 만드는 역할만?
아니면 메뉴를 보여주는 부분도 커피숍의 역할이라고 생각할 수도 있지 않을까?
이렇게 주관적일 수 있다.
(역할을 전부 나눠봤더니 클래스당 메서드가 하나씩만 있더라.. 이건 아니지.. 아니지 이것도 맞지 그냥 클래스가 많아져서 관리하기 힘들뿐)

여기서 다시, SOLID를 사용하는 이유는 무엇일까?
좋은 코드, 그러니까 내 기준에서는 유지보수가 용이하게 만들고 싶다.
유지보수가 용이해진다라는 목적에 맞게 역할을 분리했다면 그게 SRP를 지켰다고 볼 수 있을 것 같다.
이제 이 역할을 잘 나누는 법은 을 많이 먹어야 한다고 한다. 역할을 요리조리 나눠보다 보면 나만의 어떤 기준이 생기지 않을까?

결론: 코드를 많이 짜보자

profile
행복합시다!!

0개의 댓글