반응형 추상화3 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. 2. 다형성(Polymorphism) + 추상화( Abstract class)의 예시 안녕하세요. 지칸입니다. 오늘부터 1편에 이어서 몇가지 예시를 정리하려고 합니다. 2021.03.10 - [알고리즘/디자인 패턴] - 1. object-oriented paradigm, OOP, 객체지향 1) 다형성과 추상화, 상속 부모 타입에 자식 인스턴스를 넣을 수 있다는 점! 동적 다형성을 이용하여 인스턴스에 따라 다른 동작을 할 수 있는점! 위 2가지를 사용한 예제를 보여드리겠습니다. 추상화 클래스 Animal 에는 추상화 함수 say()가 존재합니다. 그리고 Cat은 Animal을 상속받고 추상화 함수 say를 오버라이딩 해야합니다. Canine도 Animal을 상속받는 추상화 클래스며 이를 상속받는 Dog 클래스가 있습니다. 마찬가지로, say를 오버라이딩 해야합니다. 위 예시에서는 주어진 클.. 2021. 3. 10. 이전 1 다음 반응형