본문 바로가기
정보처리기사/필기

[정보처리기사 필기 요약] 객체지향

by 채연2 2021. 3. 2.

 

 

 

* 객체지향 개념 : 실세계 개체(Entity)를 속성(Attribute)과 메소드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념. 구현 대상을 하나의 객체로 보고 객체와 객체들 간 관계로 모델링 하는 방법

 

* 구성요소

구분 내용
클래스 (Class) - 같은 종류 객체들 집합에 공통 속성과 행위 정의
- 객체지향 P/G 기본적인 사용자 정의 데이터형
객체 (Object) - 클래스 인스턴스 (실제로 메모리 상에 할당된 것)
- 자신 고유 데이터 가지며 클래스에서 정의한 행위 수행
속성 (Attribute) - 객체 데이터
메소드 (Method) - 객체 행위 (함수, 메소드)
- 클래스로부터 생성된 객체 사용하는 방법
메시지 (Messsage) - 객체 간 통신

 

* 기법

특징 상세내용
캡슐화
(Encapsulation)
- 속성과 메소드 하나로 묶어서 객체로 구성
- Readability 항상 : 유지보수 용이
- 재사용성 높은 S/W 개발 가능
- 정보 은닉으로 내부 자료 일관성 유지
- 객체 간 인터페이스 이용, 종속성 최소화
추상화
(Abstraction)
- 공통 성질 추출하여 슈퍼클래스로 구성
- 객체 중심 안정된 모델 구축
- 현실 세계 자연스럽게 표현
- 분석 초점 명확해짐
다형성
(Polymorphism)
- 동일한 이름의 여러 오퍼레이션(메소드) 다른 사양으로 정의 가능
- 오버로딩 : 매개변수 수 또는 타입 달리하여 구분
- 오버라이딩 : 부모클래스 메소드 재정의
정보은닉
(information Hiding)
- 캡슐화된 항목 다른 객체로부터 숨김
- 메시지 전달에 의해 다른 클래스 내 메소드 호출됨
상속성
(Inheritance)
- 부모 클래스 속성과 메소드 상속받아 사용
- 부모와 자식 클래스 간 관계가 슈퍼 클래스와 서브 클래스로 유지
- 부모 클래스는 추상적이며, 자식 클래스는 구체적 성질 가짐

 

 

320x100

 

 

* 다형성의 오버라이딩과 오버로딩

구분 오버라이딩(Overriding) 오버로딩(Overloading)
개념 - 상속관계에서 상위 클래스 메소드를 하위 클래스에서 재정의 - 하나의 클래스 내에서 같은 이름으로 여러 개 매소드 정의
메소드 명 - 상속관계 내 동일 - 특정클래스 내 동일
매개변수 개수, 타입 - 반드시 동일 - 개수 또는 타입 다름
리턴 타입 - 기본적으로 동일 - 상관없음
접근 제한 - 범위 같거나 넓어야 함 - 상관없음

 

//오버라이딩
public class ABC {
	public void XYZ() {}
}

public class DEF extends ABC {
	public void XYZ() {}
}


//오버로딩
public class GHI extends ABC {
	public void XYZ() {}
    public void XYZ(int number) {}
}

 

 

 

 

320x100

댓글