Programming/Java

[JAVA] 객체지향 특징 4 가지(캡슐화, 상속, 다형성, 추상화)

감귤밭호지차 2022. 10. 21. 23:36

JAVA의 객체 지향 특징 4 가지

# 캡슐화 (Encapsulation)

# 상속 (inheritance)

# 다형성 (polymorphism)

# 추상화 (abstraction)

 

➡️ JavaScript의 객체 지향 특징 

 

 

 

  • 캡슐화

생성한 객체를 어떤 메서드와 필드(변수)로 어떻게 일을 수행할지 외부에 숨기는 특성을 말한다. " 캡슐화 =  은닉화 "라고 하며

보호하고자 하는 데이터의 값을 외부에서 직접 접근하는 것을 방지하기 위해 나온 개념이다. 접근제어자를 이용해서 값을 은닉, public method로 값을 통제한다.

 

 

 

  • 상속

클래스는 추상화된 슈퍼클래스와 구체화된 서브 클래스로 구성된다. 부모와 자손과의 관계라고 생각하면 이해하기 쉽다. 

extends를 이용하여 상속을 하고 하나의 부모 클래스에 여러 개의 자손을 가질 수 있으며 자손은 부모의 값(변수) 나 행위(메소드)를 상속받아 사용할 수 있다. 

 

 

 

  • 다형성

클래스의 상속 관계를 이용해서 슈퍼클래스(부모)가 같은 서브 클래스(자손)의 동일한 요청을 다르게 처리할 수 있는 특징을 말한다. 

P(부모) - 이동한다 메소드 

C(자손) - 학교

               - 회사

: ⓐ 학교로 이동한다.

  ⓑ 회사로 이동한다.

 

 

  • 추상화 (Java 실무에서 가장 많이 쓰이는 내용이라고 함..) 

객체의 공통된 특징을 묶어서 추출한다는 개념이다. "인터페이스"와 "추상 클래스"는 객체지향적 개념을 개발에 적용하며 설계를 확장하거나 향후 변경하기 쉬운 구조를 지원하는 요소이다. 기본적인 속성과 필요한 메서드의 형태(프로토타입)만 기술하고, 세부적인 내용은 실제 구현 클래스에서 담당한다. - 공통적인 내용을 추상적으로 만들어 설계하는 곳에서 많이 사용된다. .

 

 

 

➡️ 참고01 : 자바 인터페이스와 추상 클래스

➡️ 참고02 : 05장 객체지향 프로그래밍

➡️ 참고03 : TCP_JAVA

➡️ 참고04 : 자바 인터페이스와 추상 클래스

➡️ 참고05 : [책] 남궁성의 Java의 정석 기초편 , [도우출판]