녕의 학습 기록
[Java] 객체 지향 프로그래밍의 특징 본문
객체 지향 프로그램의 특징으로는 캡슐화, 상속, 다형성 이 세가지를 들 수 있다.
이들 특징은 추후에 학습을 하다 보면 자연스레 알게 되지만, 개념부터 먼저 살펴보고자 한다.
캡슐화
캡슐화란 객체의 필드, 메소드를 하나로 묶고 실제 구현 내용을 감추는 것을 의미한다.
따라서 외부의 객체는 객체 내부의 구조를 알지 못하고 객체가 노출시키는 필드와 메소드만 이용 가능하다.
이러한 특징은 외부의 잘못된 사용으로 인해 객체가 손상되는 것을 방지하기 위한 목적이다.
자바에서는 캡슐화된 멤버의 노출 여부를 접근 제한자를 통해 결정한다.
나중에 살펴볼 접근 제한자는 객체의 필드와 메소드의 사용 범위를 제한한다. ex) 클래스 내에서만 이용
상속
상속이란 우리가 흔히 알고 있듯이 부모가 가지고 있는 것을 자식에게 물려주는 것을 의미한다.
자바에서는 부모 역할의 상위 객체와 자식 역할의 하위 객체로 나뉘는데,
상위 객체는 자신이 가지고 있는 멤버를 하위 객체에게 물려주어 하위 객체가 사용가능할 수 있게 한다.
public class Vehicle{
int speed;
String name;
}
public class Car extends Vehicle{
// 부모인 Vehicle의 필드 spped와 name 이용가능하다
}
상송을 이용하면 상위 객체를 재사용함으로써 하위 객체를 보다 쉽고 빨리 설계할 수 있다.
다형성
다형성이란 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다.
즉, 다형성은 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있게끔 해준다.
부모 타입에는 모든 자식 객체가 대입될 수 있고, 인터페이스 타입에는 모든 구현 객체가 대입될 수 있다.
'Dev > Java' 카테고리의 다른 글
[Java] 클래스 상속 (0) | 2022.07.08 |
---|---|
[Java] 객체 생성과 필드 (0) | 2022.07.04 |
[Java] 배열 (0) | 2022.07.02 |
[Java] 객체 / 클래스 (0) (0) | 2022.06.29 |
[Java] for 반복문 (0) | 2022.06.27 |