일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C++
- 독서
- 책알남
- 주식
- 알고리즘트레이닝
- algorithmtraining
- 책을알려주는남자
- 프로그래머스 알고리즘 공부
- 자바
- 화장품
- JavaScript
- C
- 채권
- 독후감
- 경제
- 알고리즘 공부
- 백준알고리즘
- Java
- 성분
- 자바스크립트
- 서평
- 돈
- 프로그래밍언어
- 재테크
- 지혜를가진흑곰
- algorithmTest
- 알고리즘공부
- 다독
- 투자
- algorithmStudy
- Today
- Total
목록[Snow-ball]server/객체지향 (4)
탁월함은 어떻게 나오는가?
의존성 주입(Dependency Injection)이란? 의존성 주입이란 무엇일까? 위키백과에 의존성 주입을 검색해본다면 한줄로 요약이 가능할 것이다. 의존성 주입은 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉이다. 우리는 위의 한 줄에서 얻어야하는 것은 "테크닉" 이라는 부분이다. 즉, 우리가 코드를 작성할 때 사용하는 테크닉들 중 하나인 것이다. 그러면 우리는 고민을 해봐야하는 것 중 한가지는 어떤 테크닉이라는 것일까? 그 답은 바로 컴포지션이다. 즉, 합성(포함)이다. 쉽게말해서, 합성의 테크닉들 중 한가지라고 보면 된다. 그렇다면 역으로 생각해볼 수 있다는것은 Nestjs나 Spring boot 에서 제공하는 의존성 주입은 결국 우리가 흔하게 구현하는 new ClassName() 의 컴포지..
정의 리스코브 치환의 원칙은 줄여서 LSP라고 부른다. LSP를 한마디로 한다면 "서브 타입은 언제나 슈퍼 타입으로 교체할 수 있어야 한다." 라고 할 수 있다. 즉, 서브 타입은 언제나 상위인 슈퍼 타입과 호환될 수 있어야 한다. 달리 말하면 서브 타입은 슈퍼 타입이 규정한 규약을 전부 지켜야 한다. 상속은 구현상속(inheritance), 인터페이스 상속(implements) 중 어떤걸 사용더라도 궁극적으로 다형성을 통한 확장성 획득이 목표이다. LSP 원리 또한 서브 클래스가 확장에 대한 인터페이스를 준수해야만 함을 의미하고 있다. 한줄로 정리하자면, LSP는 application program을 중단하지 않고 슈퍼 클래스의 개체를 해당 하위 클래스의 개체로 교체될 수 있다는 것이다. 말로는 헷갈릴..
객체 지향 프로그래밍(Object-Oriented programming) 언어는 코드 재사용에 대한 이점이 있다. 코드 재사용 방법에는 상속 구현(inheritance, IS-A 관계) 또는 개체 구성(composition, HAS-A 관계) 두가지가 있다. 그러나 상속을 사용할 때는 컴파일러와 Java virtual machin(JVM)이 많은 일을 하지만, composition을 사용할 때는 상속의 기능을 사용할 수 있다. IS-A Relationship 객체 지향 프로그래밍의 컨셉은 전부 IS-A을 기반으로 한 상속이며, 상속은 Class 상속과 Interface 상속 2가지 타입이 있다. 상속은 "A 타입은 B 타입의 것이다." 라고 하는 것이다. 예를들어 [ 사과는 과일이다. ] or [ 차는..
의존관계 역전 원칙 객체 지향 프로그래밍에서 의존관게 역전 원칙은 소프트웨어 모듈들을 분리하는 특정 형식을 지칭한다. 이 원칙을 따르면, 상위 계층(정책 결정)이 하위 계층(세버 사항)에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있다. 이 원칙은 다음과 같은 내용을 담고 있다. 첫째, 상위 모듈은 하위 모듈에 의존해서는 안된다. 상위 모듈과 하위 모듈 모두 추상화에 의존해야 한다. 둘째, 추상화는 세부 사항에 의존해서는 안된다. 세부사항이 추상화에 의존해야 한다. 이 원칙은 '상위와 하위 객체가 모두가 동일한 추상화에 의존해야 한다'는 객체 지향적 설계의 대원칙을 제공한다. - 위키 백과 - 의존관계 역전 원칙은 간단히 DIP라고 부른다. D..