본문 바로가기
반응형

inheritance4

5. 클래스 관계 (Class Relationships) 안녕하세요. 지칸입니다. 본 글에서는 클래스간의 관계에 대해 설명하겠습니다. 1) 관계의 종류 2) 의존관계 3) 연관관계 4) 집합관계 & 합성관계 5) 상속관계 1) 관계의 종류 객체지향 프로그래밍은 클래스를 정의하고 클래스간의 메시지 패싱으로 소통하며 목적을 달성하는 방식을 의미하고 있습니다. 그리고 다양한 클래스간의 관계에 대해서도 정의가 되어야 합니다. 이 관계는 총 5개로 분류하고 있습니다. Dependency Association Aggregation Composition Inheritance 약한 관계강한 관계 2) Dependency 의존관계 Dependency는 A 클래스가 B클래스를 일시적으로 참조하는 형태를 말합니다. 예를들면, A 클래스의 어느 함수내부에서 B 클래스 인스턴스를 생.. 2021. 3. 15.
4. 인터페이스 interface 란? 안녕하세요. 지칸입니다. 본 글에서는 abstract class, inheritance와 비슷한 interface, implements를 설명하겠습니다. 1) 인터페이스란? 인터페이스는 추상화 클래스와 몇가지 차이점을 제외하면 매우 유사합니다. - 인터페이스는 인스턴스 변수를 가질 수 없다. (정적 클래스 변수는 가능) - 모든 매서드는 추상화 매서드이다. (인터페이스에는 매서드 바디가 없다.) 자바에서는 "interface" keyword를 통해 정의할 수 있으며 오직 추상화 매서드만 가지고 있기 때문에 추상화 클래스보다 상위 개념의 추상화입니다. 자바에서는 "implements" keyword를 통해 구현할 수 있습니다. extends와 implements의 그래프 표현방식이 다르게 생겼습니다. St.. 2021. 3. 12.
3. Object-Oriented Paradigm 예시 안녕하세요. 지칸입니다. 1~2장에 걸쳐서 OOP에 대해 필요한 기본 개념에 대해서 공부해봤습니다. 본 글에서는 OOP를 써야하는 이유를 설명하기 위한 예시를 보여드리겠습니다. class = ADT + Inheritance + Polymorphism 1) 도형 그리기 우리는 Line,Circle,Rectangle 도형 3가지를 그릴 수 있는 함수를 만들려고 합니다. 어떠한 도형을 그려달라고 요청하면 도형 타입을 확인하여 각각의 알맞는 도형을 그린다고 하면 아래와 같은 코드를 만들 수 있습니다. Client 입장에서 Circle를 그리고 싶을 때 renderShape를 호출하고 파라미터로 Circle관련 데이터를 넣어준다면 if-else 조건에 따라 DrawCircle를 호출할 것입니다. Line이였다면 .. 2021. 3. 11.
1. object-oriented paradigm, OOP, 객체지향 안녕하세요. 지칸입니다. 오늘부터 디자인 패턴에 대해 공부하려고 합니다. class = ADT + Inheritance + Polymorphism object-oriented 프로그래밍의 핵심은 위 3가지로 요약할 수 있습니다. 1) ADT(Abstract Data Type)이란? ADT란 하나의 의미 단위의 데이터와 동작들의 캡슐화를 의미합니다. 캡슐화한다는 의미를 비유하자면 아래와 같습니다. "자동차 엔진 메커니즘은 모르나 운전 방법만 알면 자동차 운전이 가능합니다." 2) Inheritance 상속 - Y는 X의 모든 메서드, 데이터를 상속 받습니다. - 이 관계를 Y is a X 라고 이야기 합니다. - X type을 기대하는 변수에 Y instance를 사용할 수 있습니다. 예를 들어보면, Y는.. 2021. 3. 10.
반응형