◇ 클래스
- 객체란?
- 객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미
- 객체는 속성과 행위로 구성
- Java에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현
※ 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 ‘객체 모델링’이라함
- 객체 간의 관계
- 사용관계 : '사람 객체'가 '자동차 객체' 를 사용
- 포함관계 : '엔진 객체', '타이어 객체', '핸들 객체'는 '자동차 객체'에 포함
- 상속관계 : '자동차 객체'는 '기계 객체'를 상속받음
- 객체지향 프로그래밍의 특징
- 캡슐화
- 필드와 메서드를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것
- 외부 객체에서는 캡슐화 된 객체의 내부 구조를 알 수 없기 때문에 노출시켜준 필드 혹은 메서드를 통해
접근할 수 있다. - 필드와 메서드를 캡슐화하여 숨기는 이뉴는 외부 객체에서 해당 필드와 메서드를 잘못 사용하여 객체가
변화하지 않게 하기 위해서다. - Java에서는 캡슐화된 객체의 필드와 메서드를 노출시킬지 감출 지 결장하기 위해 접근 제어자를 사용한다.
- 상속
- 객체지향 프로그래밍에는 '부모 객체'와 '자식 객체'가 존재한다.
- '부모 객체' 는 가지고 있는 필드와 메서드를 자식 객체에 상속해 '자식 객체'가 사용 할 수 있도록 만들 수 있다.
- 상속이 필요한 이유는 객체 간의 구조 파악, 일관성 유지, 코드 중복 감소, 코드 재사용성 증가가 있다.
- 다형성
- 객체가 연산을 수행 할 때 하나의 행위에 대해 각 객체가 가지고 있는
고유한 특성에 따라 여러 가지 형태로 재구성되는 것을 의미
- 객체가 연산을 수행 할 때 하나의 행위에 대해 각 객체가 가지고 있는
- 추상화
- 객체에서 공통된 부분으로 모아 상위 개념으로 새롭게 선언하는 것
- 공통적이고 중요한 것들을 모아 객체를 모델링
- ex) 모든 자동차마다 가지고있는 엔진, 타이어, 핸들등의 객체를 모아 자동차 객체를 모델링
'Java & Spring > Java' 카테고리의 다른 글
10일차 - Java강의(제어자, package, import, 상속, this, super) (0) | 2024.07.26 |
---|---|
9일차 - Java강의(클래스, 필드, 생성자, 멤버, this) (0) | 2024.07.25 |
enhanced switch()문 (0) | 2024.07.24 |
7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션) (0) | 2024.07.23 |
String, StringBuffer, StringBuilder의 차이점 (0) | 2024.07.23 |