일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kubernetes
- kubernetes component
- 쿠버네티스 어노테이션
- 쿠버네티스
- 상속성
- maven
- kube
- kubenetes
- OOP
- delegation
- 어플리케이션셋
- kubenetes in action
- 레이블 셀렉터
- kubernetes in actin
- 피터코드
- 추상화
- applicationset
- argocd applicationset
- kubenetes architecture
- kubernetes in action
- Encapsulation
- Abstraction
- 피터코드의 상속규칙
- 위임
- 메이븐
- 레이블
- 캡슐화
- 빌드
- 객체지향
- ArgoCD
- Today
- Total
목록객체지향 (3)
IT 끄적장

Peter Coad는 상속의 오용을 막기 위해 상속의 사용을 엄격하게 제한하는 5가지의 규칙들을 만들었다. 만약, 다음 5가지 규칙에 위배되는 사항이 있으면 상속을 사용하면 안 된다고 말한다. 자식 클래스와 부모 클래스 사이는 '역할 수행 (Role Playing)'의 관계가 아니어야 한다. 한 클래스의 인스턴스는 다른 서브 클래스의 객체로 변환할 필요가 절대 없어야 한다. 자식 클래스가 부모 클래스의 책임을 무시하거나 재정의하지 않고 확장만 수행해야 한다. 자식 클래스가 단지 일부 기능을 재사용할 목적으로 유틸리티 역할을 수행하는 클래스를 상속하지 않아야 한다. 자식 클래스가 "역할(role)", "트랜잭션(transaction)", "디바이스(device)" 등을 특수화해야 한다. 아래 그림은 사람이..

Encapsulation (캡슐화) 정보은닉(information hiding)을 통하여 높은 응집도(cohesion)와 낮은 결합도(coupling)를 갖도록 하는 OOP의 설계 원리 캡슐화를 이해하기 이전에 응집도와 결합도 대하여 먼저 알아보자. 응집도(cohesion)는 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있어야 하는 나타내는 척도이다. 결합도(coupling)는 특정 operation을 수행하는데 다른 클래스나 모듈들에 얼마나 의존적(dependent)인지를 나타낸다. 대게, 이상적인 모듈을 응집도(cohesion)가 높으며, 결합도(coupling)가 낮은 모듈을 말한다. why? 사용자의 요구사항이 변경되면, 개발자 역시 코드 수정이 불가피하다. 이때, 응집도가 높고 결합도가..

OOP(객체 지향 프로그래밍)에는 기본적으로 4가지의 특성이 존재한다. 1. Abstraction(추상화) 2. Encapsulation(캡슐화) 3. Polymorphism(다형성) 4. Inheritance(상속성) 가장 먼저 추상화의 개념에 대하여 살펴보자. Abstraction(추상화) 공통된 속성을 가진 개체들을 일반화하여 이름을 붙이는 것 예를 아우디, 벤츠는 공통적으로 '자동차'라는 이름으로 일반화할 수 있을 것이다. 즉, 자동차는 아우디와 벤츠의 추상화된 개념이다. 자동차마다 엔진오일을 교환하는 방식이 다르다고 가정하였을 때 코드는 다음과 같이 작성될 것이다. switch(car){ case audi: ... break; case benz: ... break; } 위와 같이 코드가 작성되었..