본문 바로가기

기술사/SW

객체지향 특징(캡추다정상)

728x90

추상화

기자제

몇 가지 공통 속성을 가지지만 서로 다른 속성도 가지는 객체를 집단화 하는 과정

 

공통의 성질을 추출하여 super class를 설정

- 복잡한 것을 단순화/간결화, 공통 데이터/기능 도출

- 클래스를 이용 데이터와 프로세스를 함께 추상화

- 명사에 데이터 추상화(type부여)

- 동사에 기능의 추상화(method부여)

기능추상화 Obj.getName()

자료추상화 String, Class

제어추상화 If, for, while

abstract class GraphicObject {          //Super Class

int x, y;

void moveTo(int newX, int newY) { … }

abstract void draw();

}

class Circle extends GraphicObject {  

void draw() { … }

}

class Rectangle extends GraphicObject {

void draw() { … }

}

-공통성질(draw)을 추출하여 추상화

추상클래스와 인터페이스를 비교 설명하시오. (합 111 1_1)

공1

 

객체 인스턴스를 생성하지 않고, 단지 유사 클래스들의 공통된 특징을 정의하고 하나 이상의 추상 메소드와 일반 필드 및 일반 메소드를 포함하는 클래스

 

기능(Function)을 모아놓은 클래스로 추상 메소드와 상수(static final 필드)만을 포함하는 추상 클래스

 

 

다형성(Polymorphism)

동적바인딩

확장성

재사용성

 

오버로딩

오버라이딩

동일한 인터페이스를 갖는 객체들이지만 그들의 동작은 완전히 다를 수 있게 구현하여동적바인딩을 지원하는 객체지향의 기본원칙

오버로딩,오버라이딩

동적바인딩,확장성,재사용성

 

오버라이딩(Overriding)

자식이 부모 메소드 재정의

자식 클래스가 부모 클래스에 의해 이미 제공된 메소드를

재정의할 수 있도록 제공하는 객체지향 언어적 특성

 

정보은닉

information hiding

 

객체의 상세한 내용을 객체 외부에 숨기고 메시지만으로 객체와의 상호작용을 하게 하는 성질

 

클래스 안에 public과 private을 통해 외부 사용 제어

Class InformationHiding{

Private int x,y;

Int getX() { return X; }

} // x에 대한 접근은 메소드를 통해서 가능

상속

 

미리 만들어 둔 클래스를 다시 이용하는 방법

부모클래스의 속성과 메소드를 그대로 물려받는 것

단일

다중

반복

class Animal{

public void move(){… }

}

class Dog extends Animal{

public void bark(){… }

}

'기술사 > SW' 카테고리의 다른 글

Adapter 패턴  (0) 2021.04.23
싱글톤 패턴(디자인패턴)  (0) 2021.03.05
factory 패턴 (디자인패턴)  (0) 2021.03.05
디자인패턴  (0) 2021.03.05
SOLID  (0) 2021.01.19