Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프리코스
- 프로그래머스
- api 비동기처리
- AWS
- Dev-Matching
- 우아한 테크코스
- api 요청 수 제한
- 검색
- 코멘토 #코멘토실무PT #실무PT후기 #실무강의 #리액트강의 #웹프로그래밍 #react #웹개발실무
- 유효시간 설정 url
- 모던 자바스크립트
- 딥다이브
- 프론트엔드 과제
- Deep Dive
- 우아한테크코스
- 타입스크립트
- compateto
- 프론트엔드
- 자바스크립트
- NestJS
- 스프링부트
- TypeORM
- oauth
- invalid_grant
- concurrency limit
- 음악 url 파일 다운로드
- this
- bucket4j
- redis
- 파일 url
Archives
- Today
- Total
개발 알다가도 모르겠네요
객체지향의 원리 본문
728x90
추상화
- 모델링은 추상화에 바탕. (특정 관점에서 관련있는 점은 부각, 없는 것은 무시)
- 어떤 영역에서 필요로 하는 속성이나 행위를 추출하는 작업.
캡슐화
- 높은 응징도 (서로 관련있는 것끼리 모여 있는 것)
- 낮은 결합도 (외부에서 A정보에 직접적으로 접근X. 따라서 A정보 바뀌더라도 외부에 영향X)
일반화 관계
- 일반화(상속)을 속성이나 기능의 재사용 관점에서만 보는 것은 극히 제한된 관점.
- 철학에서 일반화(generalization)은 "여러 개체들이 가진 공통된 특성을 부각시켜 하나의 개념이나 법칙으로 성립시키는 과정".
- 일반화는 클래스 자체를 캡슐화하여 변경에 대비할 수 있는 설계를 가능하게 함. (새로운 클래스 추가되도 클라에 영향X)
일반화와 위임
extends
- 자식이 부모의 기능 모두 사용: 일반화 O
- 자식은 일부기능만 사용: 일반화 X
두 자식 클래스 사이에 'is a kind of 관계' 가 성립되지 않을 때 상속을 사용하면 불필요한 속성이나 연산을 물려받음.
어떤 클래스의 일부 기능만을 사용하고 싶을 경우에는 위임을 사용.
피터 코드의 상속 규칙
- 자식 클래스와 부모 클래스 사이는 ‘역할 수행 is role played by’ 관계가 아니어야 한다.
- 한 클래스의 인스턴스는 다른 서브 클래스의 객체로 변환할 필요가 절대 없어야 한다.
- 자식 클래스가 부모 클래스의 책임을 무시하거나 재정의하지 않고 확장만 수행해야 한다.(extend만 하고 재정의X)
- 자식 클래스가 단지 일부 기능을 재사용할 목적으로 유틸리티 역할을 수행하는 클래스를 상속하지 않아야 한다. (stack arrayList)
- 자식 클래스가 ‘역할role’, ‘트랜잭션transaction’, ‘디바이스device’ 등을 특수화(specialization) 해야 한다.
'디자인패턴' 카테고리의 다른 글
Command Pattern 을 알아보자 (0) | 2021.12.11 |
---|---|
Strategy Pattern 을 알아보자 (0) | 2021.12.11 |
Builder Pattern 을 알아보자 (0) | 2021.12.10 |
Singleton Pattern 을 알아보자 (0) | 2021.12.10 |
SOLID 설계원칙 (0) | 2021.12.09 |