객체 지향의 4가지 특징
캡슐화(Encapsulation) |
상속(Inheritance) |
추상화(Abstraction) |
다형성(Polymorphism) |
캡슐화(Encapsulation)
객체의 필드를, 메소드를 하나로 묶고 실제 구현 내용을 감추는 것
외부에 내부구조를 숨기고 기능에 필요한 필드, 메소드만 밖으로 공개한다
캡슐화된 정보는 수정뿐 아니라 접근 자체가 제한된다
적용 :
상속(Inheritance)
상위객체가 갖는 특성을 하위객체에 물려주어 필드나 메소드를 사용할 수 있도록 하는것
상위객체가 상속해줄 수 있는 개수에는 제한이 없다.
또한 공통적인 부분을 잘 구성한 객체의 경우 이를 상속받은 하위객체에서 설계하는데 도움을 준다
적용 : 상위클래스와 하위클래스
추상화(Abstraction)
공통되고 중요한 특성을 추출하여 상위개념으로 생성하는 것이다.
다형성(Polymorphism)
같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 성질
하나의 타입에 여러 객체를 대입하는 것이 가능하도록 하여 다양한 기능을 이용할 수 있도록 하는 특성이다.
부모 클래스 또는 인터페이스의 타입 변환을 허용함
부모 클래스 -> 모든 자식 클래스가 대입될 수 있음
인터페이스 타입 -> 모든 구현 클래스가 대입될 수 있음
'Java > 기본' 카테고리의 다른 글
[Java] 예외처리 - 예외(Exception)란 (0) | 2021.06.17 |
---|---|
[Java] 객체지향 - 추상화와 인터페이스 (0) | 2021.06.12 |
[Java] 객체지향 - 상속 (0) | 2021.06.12 |
[Java] 객체지향 - 접근제한자(Access Modifier) (0) | 2021.06.11 |
[Java] 객체지향101 - 객체지향프로그래밍(Object Oriented Programming)이란? (0) | 2021.06.10 |