객체지향언어(object oriented programming = oop)란?
- 순서대로 하는 것이 아니라, 컴퓨터 프로그램을 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것
- 각각의 개체는 메시지를 주고 받고 데이터를 처리할 수 있음
자바의 객체 지향 특성
1. 캡슐화
- 객체를 캠슐로 싸서 내부를 볼 수 없게 하는 것
- 객체의 가장 본질적인 특징 - 외부의 접근으로부터 객체 보호
2. 상속
- 상위 클래스의 멤버를 하위 클래스가 물려받음
- 상위 클래스 : 수퍼 클래스
- 하위 클래스 : 서브 클래스, 수퍼 클래스 코드의 재사용, 새로운 특성 추가 가능
3. 다형성
- 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현되는 것
클래스와 객체
클래스
- 객체의 속성과 행위 선언
- 객체의 설계도 혹은 툴
객체
- 클래스의 틀로 찍어낸 실체
- 프로그램 실행 중에 생성되는 실체
- 메모리 공간을 갖는 구체적인 실체
- 인스턴스(instance)라고도 부름
- 객체는 현실에 존재하는 모든 것(구체적)
- 클래스는 개념적으로 객체를 생성할 수 있는 툴(개념적)
- 클래스는 그 자체만으로 사용할 수 없음
'Programming Languages > Java' 카테고리의 다른 글
[4장] 객체 배열/메소드 (0) | 2021.04.13 |
---|---|
[4장] 자바 생성자의 개념과 특징/ this 레퍼런스 (0) | 2021.04.10 |
[3장] Java 배열 선언 및 생성/ length 필드/ for-each문/ 2차원 배열 (0) | 2021.04.05 |
[3장] Java 예외 처리 (0) | 2021.03.30 |
[3장] Java 반복문 (0) | 2021.03.30 |