2024. 3. 9. 00:23ㆍBE/Java
프로그램을 만들 때 객체들을 만들고 각 객체들을 조립하여 프로그램을 만드는 기법을 말한다.
객체
속성(필드)과 동작(메소드)을 가지고 있고 다른 것과 식별이 가능한 것을 의미한다.
객체 모델링
현실 세계의 객체들을 소프트웨어 객체로 설계하는 것을 말한다. 즉, 현재 객체의 속성과 동작을 소프트웨어 객체의 필드와 메소드로 정의하는 과정을 의미한다.
객체 상호 작용
현실 세계 객체처럼 소프트웨어 객체 간의 상호 작용하면서 동작하는데 메소드를 통해 상호 작용을 할 수 있다.
객체 간의 관계
객체는 다른 객체와 관계를 맺을 수 있는데 집합 관계, 사용 관계, 상속 관계가 있다.
집합 관계
한 객체가 다른 객체의 구성 요소가 되는 것을 의미한다.
예를 들어 자동차 객체 = 엔진 객체 + 타이어 객체 + 핸들 객체 와 같은 관계를 생각할 수 있다.
사용 관계
한 객체가 다른 객체의 메소드를 호출하는 것을 의미한다.
예를 들어 사람 객체는 자동차 객체의 엑셀 밟기 메소드를 호출할 수 있다.
상속 관계
상위 객체 기반으로 하위 객체를 생성하는 관계를 의미한다.
하위 객체는 상위 객체의 필드와 메소드를 갖게 된다.
객체 지향 프로그래밍 특징
객체 지향 프로그래밍 특징으로 캡슐화, 상속, 다형성이 있다.
Encapsulation
캡슐화는 객체의 필드와 메소드를 하나로 묶어 실제 구현 내용은 감추는 것을 말한다.
외부 객체는 객체의 내부 구조를 알지 못해 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있다.
자바에서 캡슐화된 멤버의 노출 여부는 접근 제한자로 결정된다.
Inheritance
상속은 객체를 생성할 때 상위 객체의 필드와 메소드를 전달하는 것을 말한다. 상위 객체를 재사용하여 하위 객체를 빨리 설계할 수 있도록 한다.
Polymorphism
다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 특징을 말한다.
하나의 타입에 다양한 객체를 대입하여 다양한 기능을 이용할 수 있다. 자바는 다형성을 위해 상위 클래스 또는 인터페이스의 타입 변환을 허용한다. 부모 타입에는 모든 자식 객체가 대입될 수 있고 인터페이스 타입에는 모든 구현 객체가 대입될 수 있다.
'BE > Java' 카테고리의 다른 글
[Java] 참조 타입에 대해서 (0) | 2024.03.08 |
---|---|
[Java] 조건문과 반복문 (0) | 2024.03.08 |
[Java] 연산에 대해 (0) | 2024.03.07 |
[Java] 타입 변환 (0) | 2024.03.07 |
[Java] 데이터 타입 (0) | 2024.03.07 |