추상화 |
기자제 |
몇 가지 공통 속성을 가지지만 서로 다른 속성도 가지는 객체를 집단화 하는 과정
공통의 성질을 추출하여 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 |