객체란?
세상에 존재하는, 언어로 표현가능한 각각의 모든것들. (모든 물체 + 관념적인것들)
예) 연필, 사람, 컴퓨터, 운동, 전기, 물 등등
객체지향언어 : 객체와 각 객체들의 관계를 중심으로 코드가 전개되어 나감.
4가지 특징
캡슐화 : 필드와 메소드 그리고 생성자를 한데 묶어 객체를 만듦으로 내부의 내용을 가림. 사용하기 위해 필요한 최소 부분을 접근제어자로 노출시킴. 임의로 코드가 변경되고 손상되는것을 막아준다.
상속 : 부모클래스의 필드와 메소드를 자식클래스에서 가지고와서 사용 가능하며, 코드의 재사용성을 증가시켜준다.
다형성 : 부모클래스의 필드와 메소드를 재정의(overriding)해서 사용 가능하며, 같은 부모를 가지고 있어도 다양한 형태의 자식클래스가 나올 수 있다.
추상화 : 객체의 공통된 부분들을 모아 상위개념으로 새롭게 선언가능하다. 어떻게 보면 상속의 반대되는 개념이라고 볼 수도 있을거 같다.
예) 눈, 코, 입, 귀 등을 모아 얼굴이라는 객체를 모델링
'언어 > Java' 카테고리의 다른 글
추상화 추상클래스 (1) | 2023.08.24 |
---|---|
this this() (0) | 2023.08.23 |
자바, 상속 (0) | 2023.08.22 |
Getter와 Setter 캡슐화 (0) | 2023.08.21 |
자바 컬렉션 정리 (0) | 2023.08.15 |