반응형

Solid 5

[OOP] 의존성 역전 원칙(DIP: Dependency Inversion Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 인터페이스 분리 원칙(ISP: Interface Segregation Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 리스코프 치환 원칙(LSP: Liskov Substitution Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 단일 책임 원칙(SRP: Single Responsiblity Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

객체지향 설계 원칙이란 무엇인가? - SOLID란?

결합도와 응집도 결합도(Coupling) 결합도는 클래스 간의 의존성이 낮을수록 결합도가 낮다고 볼 수 있다. 하나의 클래스를 수정하는데 의존하는 다른 클래스를 모두 수정해야 한다면 결합도가 높은 것이다. 따라서 개발함에 있어 낮은 결합도로 개발하는 것이 주된 목표이다. 응집도(Cohesion) 응집도는 비슷한 일을 하는 기능(모듈 내부의 구성 요소)들이 기능적 관련성으로 잘 뭉쳐져 있다면 높은 응집도를 가진다고 볼 수 있다. 하나의 기능을 변경할 때, 다른 곳에서도 변경해야 할 곳이 많다면 응집력이 낮은 것이다. 따라서 개발함에 있어 높은 응집도로 개발하는 것이 주된 목표이다. 즉, 좋은 소프트웨어 설계를 위해서는 결합도는 낮추고, 응집도는 높여야 한다. 객체지향 설계 원칙(SOLID) SOLID는 컴..

반응형