본문 바로가기

다형성6

[정보처리기사 필기] 프로그래밍 언어 활용 - 객체지향 기술 객체지향 기술 class 유사한 객체를 묶어 하나의 공통된 특성 표현 데이터를 추상화하는 단위 다형성 연산이 같더라도 클래스가 다르면 전혀 다르게 수행되는 연산 수평 + 수직 상속성 수직 구조 재사용성 결합도 강해진다. 정적 바인딩 재사용성 : 생산성에 가장 영향을 주는 요소 람바우 객체 모형 → 동적 모형 → 기능 모형 객체 식별 , 상태도 자료 흐름도 Coad와 Yourdon 방법 객체지향 분석 방법론 중 E - R 다이어그램 사용 Booch 방법 미시적 개발 프로세스 → 거시적 개발 프로세스 Jacobson 상호 작용 서술한 시나리오 접근 Wirfs - Brocks 방법 고객 명세의 평가 시작 설계로 끝남 객체지향 설계 원칙 ISP DIP LSP SRP OCP 확장에 열려있고 수정에 닫혀있다. 객체.. 2022. 3. 26.
Observer Pattern 옵저버 패턴 - 행동, 구독자(observers)와 주제(subject) | Design pattern 디자인 패턴 Observer Pattern Observer pattern allows a number of observer objects to synchronize its state with the subject's state. Observers(구독자, 가입자, 관찰자) 에게 특정 주제(subject)를 Push 하여 전달하거나 Pull 해서 Observer 를 필요시 주제를 가져온다. 옵저버 패턴을 트위터에 비유하여 표현한 사진을 보니 쉽게 이해가 되는 것 같다. 2개의 객체가 loosely coupled 되어있을때 , 두 객체는 상호작용한다. but 그것들은 서로를 모른다. 옵저버 패턴은 subject와 loosely coupled 된 옵저버들의 객체 설계 제공한다. 왜 그럴까? 오직 한 주제가 특정 인터페이스.. 2021. 11. 9.
Strategy Pattern ㅡ 행위, 행동(Behavior)을 인터페이스로 추상화 시켜 구성(composition)을 통해 행동들을 사용 | Design Pattern 디자인 패턴 Strategy Pattern 클래스별로 캡슐화되어 있는 객체들을 교체할 수 있도록 함으로써 같은 작업을 다른 알고리즘으로 사용할 수 있도록 하는 패턴 Strategy 클래스 내 각각 캡슐화 그리고 구성을 통해 알고리즘 바꿀 수 있다. Strategy Pattern 은 클라이언트가 독립적으로 다양한 알고리즘을 사용한다. 다형성을 이용하여 특정 객체에 종속되지 않도록 한다. 다른 부분을 분리하여 캡슐화한다. 상속하지 않는 대신 인터페이스를 통해 캡슐화(추상화)한다. (상속 대신 구성 사용) 분리된 strategies 인터페이스에서 behaviors(행동)이 정의된다. behavior 과 behavior을 사용하는 class 사이에는 더 나은 decoupling 이다. Behaviors 는 런타임시에도 변경.. 2021. 11. 4.
[Kotlin] Fast campus 강의 안드로이드 앱 개발 코틀린 / 클래스(class), 객체지향(OOP), 다형성 (polymorphism) 안드로이드 앱 개발 코틀린편. 객체지향 에서는 클래스의 기본 다형성 Abstract 추상 , Interface DataClass Object 에 대해서 다룰 것이다. 객체지향프로그래밍에서 interface와 abstract 를 이용한 다형성 프로그래밍이 중요하다. 2021.10.02 - [소프트웨어공학/디자인 패턴] - [디자인 패턴] 설계 원칙 [디자인 패턴] 설계 원칙 설계 원칙 기본 원칙들 Encapsulation, Abstraction Inheritance, Polymorphism Association/Aggregation/Composition 객체 : 상태와 행동으로 나타낸다. 객체지향 현실 세계의 개념(concepts or things)을.. javapp.tistory.com 디자인 패턴을 알.. 2021. 10. 18.
Composite Pattern - 구조, 개별 객체와 복합객체를 통합적으로 다루기, children의 저장 순서가 요구될 때 / ex) 메뉴 | Design Pattern 디자인 패턴 Composite Pattern Treat individual objects and Composite of objects uniformly. 개별 객체와 복합 객체를 클라이언트에서 동일하게 사용 child가 parent에 대한 참조자를 가지면 - tree traversal이 용이해지며 - child 자신이 제거되기를 원하는 경우 편리함 children의 저장 순서가 요구되는 경우 Composite Object (복합 객체) 사용자 정의 클래스를 도메인으로 하는 속성을 가진 객체 복합 객체 시스템에서 기본으로 제공하지 않는 사용자 정의 클래스(user-defined class)를 도메인으로 하는 속성을 가진 객체를 복합 객체(composite object)라 한다. 복합 객체에서 사용자 정의 클래스를 도메.. 2021. 10. 14.
C++ 다형성 가상함수 이해 간단 코드 다형성 virtual 가상함수 #include#includeusing namespace std; class A {public:virtual void f() { cout 2019. 1. 23.