프로그래밍/기본기ㆍ자료구조
2021. 2. 4.
OOP 객체지향 5가지 원칙
# SRP 단일 원칙 - 모든 클래스는 단 하나의 책임을 가져야 한다는 것을 말한다. 즉, 하나의 클래스에 하나의 역할만 구현하라는 것이다. 학생 클래스는 '학생' 이라는 역할에 대해서만 구현해야한다. 학생이면 학생이지 학생이면서 학교이면서 공부일 수는 없으니까 말이다. 게임 개발을 하다보면 학생이면서 학교이면서 공부인 구조를 쉽게 찾아볼 수 있는데 굉장히 좋지 못한 구조이다. 추가, 삭제, 변경 등의 작업이 어려워져 유지보수가 힘들고 협업자가 보았을 때 한눈에 코드를 이해하기가 어려워 스케줄에 차질이 생길 수도 있다. 나도 한때는 편하고 빠르게 개발하기 위해 이를 무시한적이 있었는데 결국에는 부메랑처럼 돌아와 내 뒤통수를 때리는 뼈아픈 경험도 있었다. (일정이 빡빡해서, 시간이 없고 빨리 만들어야하니까..