728x90
반응형
1. 객체지향 언어의 특징
(1) 추상화
- 현실 세계의 사실에서 주어진 문제의 중요한 측면을 주목하여 설명하는 방식
- 실세계의 객체에서 불필요한 부분을 제거하여 필요한 부분만을 클래스로 만드는 작업
- 속성과 행동으로 추상화를 실현
- 즉, 실체를 -> 추상화 -> 클래스화(코드화) 하는 과정
(2) 캡슐화
- 객체와 객체 간의 의사 소통을 위한 정보만을 노출
- 즉, 실제 내부 구현 정보는 숨기는 원리
- 추상화 과정에서 클래스를 정의할 때, 객체의 자료와 행위를 클래스 단위로 하나로 묶고, 실제 내부를 구현한다.
- 내부 내용을 외부에 감추는 것
※ 정보 은닉 (Information hiding) 이 발생
- 캡슐화 과정에서 클래스 내부 구현을 외부에서 숨기기 때문에 내부에서 일어나는 일에 아무도 관심이 없다.
※ 클래스 단위의 내부 기능 중 일부는 외부에 공개되어 다른 객체와 메시지 전달 및 수신을 하며 외부와의 통로 역할을 한다.
(3) 상속
- 객체지향의 가장 핵심이 되는 개념
- 클래스 간에 부모-자식 관계를 형성하여 부모 클래스의 특징과 기능을 자식 클래스가 사용할 수 있도록 하는 특징이다.
- 프로그램을 쉽게 확장할 수 있도록 해주는 수단
- 상위 클래스와 하위 클래스 간의 관계를 나타내는 것을 계층도 라고 한다.
- 장점 : 공통의 특성을 하위 클래스마다 반복적으로 기술하지 않고 한 번만 기술하기 때문에 중복을 줄여 재 사용성의 효과를 나타낸다.
(4) 다형성
- 외부에 보이는 모습은 한 가지 형태이지만 실질적으로 쓰이는 기능은 여러 가지 역할을 수행한다는 의미이다.
- 예를 들어 오버로딩(OverLoading), 오버라이딩(Overriding)이 있다.
반응형
'Java' 카테고리의 다른 글
[Java] System.arraycopy 사용법 (0) | 2024.03.22 |
---|---|
[Java] parseInt() VS valueOf() 차이점 (0) | 2024.02.25 |
[Java] Vector (0) | 2023.11.21 |
[Java] Map 의 getOrDefault 사용법 (0) | 2023.11.20 |
[Java] int와 Integer의 차이 (0) | 2023.11.15 |