객체지향(OOP)란 프로그래밍 패러다임중 하나로 특정한 동작들을 오브젝트화하여 개발하는
방식을 뜻합니다.
이때 SOLID원칙이라는 다섯가지 원칙을 지키며 개발해야합니다.
솔리드원칙은 각각 다음과같습니다.
1.단일책임원칙- 한가지 클래스나 모듈은 한가지 책임만 가능해아합니다.
-예를들어 회원가입후 권한설정이있다면, 가입따로, 권한설정따로 분리해야합니다.
2.개방폐쇄원칙-확장은 용이하게 만들어야하지만 수정가능성에대해서는 최소화해야합니다.
-예를들어 자동차 인터페이스를 만들고 오토바이 인터페이스를 만드는식으로 확장은 쉽게
만들되, 탈것 인터페이스를만들고 내부에 자동차,오토바이,비행기....식으로 수정하는것은 좋지 않다.
3.리스코프치환원칙- 자식 클래스는 부모 클래스의 모든 속성을 포함하여 대체가능해야합니다.
4.인터페이스분리원칙- 인터페이스를 작은 단위로 분리하여 클래스가 불필요한 메소드들을
너무 많이 가지고있지 않아야 합니다
-예를들어 굳이 받아도 돌아가는데 문제가없다고 여러가지 인터페이스들을 받을수있는데,
그런식으로 짜면 안되고, 자기가 필요한것만 implements해야합니다.
5.의존역전원칙- 의존관계가 생길떄 변화가 적은것부터 의존해야합니다.
-예를들어 클래스보다 인터페이스를 먼저 의존해야합니다.