SOLID 원칙은 객체 지향 프로그래밍을 설계하는데 지켜야하는 5대 원칙으로
유지 보수 가능하고 확장 가능한 소프트웨어를 만들기 위한 원칙입니다.
S,O,L,I,D 각각의 글자가 의미를 가지고 있다.
S: 단일 책임 원칙 (Single Responsibillity Principle)
- 하나의 클래스는 하나의 책임만 가져야 한다.
각 클래스는 한 가지 목적을 위해 존재하고, 변경의 이유는 하나여야 한다.
O: 개방-폐쇄 원칙 (Open-Closed Principle)
- 확장에는 열려 있고, 수정에는 닫혀 있어야 합니다.
기존 코드를 변경하지 않고도 새로운 기능을 추가할 수 있도록 설계되어야 합니다.
L: 리스코프 치환 원칙 (Liskov Substitution Principle)
- 하위 클래스는 상위 클래스의 기능을 완전히 대체할 수 있어야 합니다.
이는 상속 관계에서 어떤 클래스든지 자신의 부모 클래스로 취급될 수 있어야 함을 의미합니다.
I: 인터페이스 분리 원칙 (Interface Segregation Principle)
- 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하지 않아야 합니다.
여러 개의 인터페이스로 분리함으로써 클라이언트는 필요한 기능에만 의존할 수 있습니다.
D: 의존 역전 원칙 (Dependency Inversion Principle)
- 의존 관계는 추상화에 의존해야 하며, 구체화에는 의존해서는 안 됩니다.
즉, 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며, 추상화에 의존해야 합니다.
사람에 따라 개발이나 코드 작성하는 스타일이 모두 다르고
위의 원칙 중 몇가지만을 선택하여 접목시키는 사람들도 더러 있다고 한다.
'Today I Learned' 카테고리의 다른 글
[내일배움캠프] Unity 게임 개발 심화 - 상호작용 만들기 (0) | 2023.12.27 |
---|---|
[내일배움캠프] Unity 게임 개발 심화 - 게임수학(회전) (1) | 2023.12.27 |
[내일배움캠프] Unity 게임 개발 숙련 - 팀프로젝트 마무리 (0) | 2023.12.21 |
[내일배움캠프] Unity 게임 개발 숙련 - 팀프로젝트 발표 D - 1 (1) | 2023.12.20 |
[내일배움캠프] Unity 게임 개발 숙련 - 랜덤타워디펜스(적 구현) (2) | 2023.12.18 |