반응형 알고리즘29 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. 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. (1장-2) 변수의 크기와 입력 받는 법 안녕하세요. 지칸입니다. 1장-2에서는 시험 입력 받는 방법과 변수의 크기 지정에 대해 알아보겠습니다. 1) 입력 받는 방법 2) 변수의 크기 1) 입력 받는 방법 주로 문제를 풀다보면 2차원 맵을 input으로 주는 경우가 많습니다. 예를들어, 위 예제처럼 문제가 있을때 벽은 1, 빈공간은 0, 네모물체는 2라고 한다면 두가지 타입으로 input이 제공될 수 있습니다. 1 1 1 1 1 1 1 1 2 0 0 0 2 1 1 2 0 0 0 0 1 1 0 2 0 2 2 1 1 0 0 2 0 0 1 1 2 0 0 0 2 1 1 1 1 1 1 1 1 1111111 1200021 1200001 1020221 1002001 1200021 1111111 공백이 존재하냐에 따라 읽는 방식에 차이가 발생합니다. cin으.. 2021. 3. 9. 이전 1 2 3 4 5 6 7 8 다음 반응형