본문 바로가기
728x90
반응형

설계/객체지향설계5

[객체지향설계] SOLID 설계 원칙 (5) - DIP (의존성 역전 원칙) 안녕하세요. J4J입니다. 이번 포스팅은 solid 설계 원칙 마지막인 dip (의존성 역전 원칙)에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [객체지향설계] SOLID 설계 원칙 (1) - SRP (단일 책임 원칙) [객체지향설계] SOLID 설계 원칙 (2) - OCP (개방 폐쇄 원칙) [객체지향설계] SOLID 설계 원칙 (3) - LSP (리스코프 치환 원칙) [객체지향설계] SOLID 설계 원칙 (4) - ISP (인터페이스 분리 원칙) DIP (의존성 역전 원칙) 란? solid 설계 원칙에서 dip가 의미하는 것은 고수준 모듈은 저수준 모듈에 의존하지 않고 추상화에 의존해야 된다는 것을 말합니다. 여기서 고수준 모듈과 저수준 모듈은 무엇이며, 추상화에 의존해야 된다는 것은 또 무엇.. 2024. 3. 22.
[객체지향설계] SOLID 설계 원칙 (4) - ISP (인터페이스 분리 원칙) 안녕하세요. J4J입니다. 이번 포스팅은 solid 설계 원칙 네 번째인 isp (인터페이스 분리 원칙)에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [객체지향설계] SOLID 설계 원칙 (1) - SRP (단일 책임 원칙) [객체지향설계] SOLID 설계 원칙 (2) - OCP (개방 폐쇄 원칙) [객체지향설계] SOLID 설계 원칙 (3) - LSP (리스코프 치환 원칙) ISP (인터페이스 분리 원칙) 란? solid 설계 원칙에서 isp가 의미하는 것은 클라이언트는 자신의 목적에 맞는 메서드에만 의존해야 된다는 것을 말합니다. 즉, 자바 관점에서 얘기를 해보면 인터페이스를 활용하여 클래스 내부 메서드를 정의할 때 실제로 클래스 내부에서 사용되는 메서드만 담긴 인터페이스를 활용되어야 한다는 .. 2024. 3. 12.
[객체지향설계] SOLID 설계 원칙 (3) - LSP (리스코프 치환 원칙) 안녕하세요. J4J입니다. 이번 포스팅은 solid 설계 원칙 세 번째인 lsp (리스코프 치환 원칙)에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [객체지향설계] SOLID 설계 원칙 (1) - SRP (단일 책임 원칙) [객체지향설계] SOLID 설계 원칙 (2) - OCP (개방 폐쇄 원칙) LSP (리스코프 치환 원칙) 란? solid 설계 원칙에서 lsp가 의미하는 것은 자료형 A가 자료형 B의 서브 타입이라면 다른 수정 사항 없이 A를 B로 대체할 수 있어야 되는 것을 말합니다. 즉, 자바 관점에서 얘기를 해보면 A 클래스가 B의 클래스에 상속되어 있는 관계일 때 다른 소스 코드의 변경 없이 A를 B로 변경했을 때 동일한 동작을 수행해야 된다는 것입니다. 자바 관점에서 lsp는 결국 상.. 2024. 3. 9.
[객체지향설계] SOLID 설계 원칙 (2) - OCP (개방 폐쇄 원칙) 안녕하세요. J4J입니다. 이번 포스팅은 solid 설계 원칙 두 번째인 ocp (개방 폐쇄 원칙)에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [객체지향설계] SOLID 설계 원칙 (1) - SRP (단일 책임 원칙) OCP (개방 폐쇄 원칙) 란? solid 설계 원칙에서 ocp가 의미하는 것은 소프트웨어 확장에는 열려있어야 하지만 수정에는 닫혀있어야 하는 것을 말합니다. 여기서 확장에는 열려있다는 것과 수정에는 닫혀있다는 것의 의미를 파악해봐야 합니다. 먼저 확장에 열려있다는 것은 새로운 요구사항이 생겼을 때 요구사항에 맞는 새로운 기능을 추가할 수 있어야 한다는 것을 의미합니다. 예를 들어 캐릭터를 성장하는 게임에서 직업이 전사 / 마법사 / 도적이 있는데 새로운 직업인 궁수를 새롭게 만들.. 2024. 3. 4.
[객체지향설계] SOLID 설계 원칙 (1) - SRP (단일 책임 원칙) 안녕하세요. J4J입니다. 이번 포스팅은 solid 설계 원칙 첫 번째인 srp (단일 책임 원칙)에 대해 적어보는 시간을 가져보려고 합니다. SRP (단일 책임 원칙) 란? solid 설계 원칙에서 srp가 의미하는 것은 모든 클래스는 한 개의 책임만을 가지고 있어야 하는 것을 말합니다. 여기서 한 개의 책임이라고 하는 것에 대한 의미를 파악해봐야 합니다. 한 개의 책임을 가진다고 하는 것은 개발을 하면서 생성되는 다양한 모듈들이 존재할 텐데 해당 모듈들이 한 개의 액터만을 위한 기능이 이루어져야 한다는 것입니다. 여기서 말하는 액터는 일부 특정 사용자가 될 수도 있고 일부 특정 시스템이 될 수도 있습니다. 즉, 이 모든 사용자들 중 한 사용자 만을 위한 기능을 생산하는 방식이 srp라고 말해볼 수 있.. 2024. 3. 2.
728x90
반응형