Language/Java

객체지형 4대 패러다임(캡슐화, 추상화, 다형성, 상속)

728x90
반응형

1. 캡슐화(Encapsulation)

  • 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶고
  • 실제 구현 내용 일부를 외부에 감추어 은닉한다

사용목적: 정보은닉

구현방법: 접근지정자(private, protected, public)


2. 추상화

  • 공통의 속성이나 기능을 묶어 이름을 붙이는 것

사용 목적: 모델링

구현 방법: 클래스


3. 다형성(Polymorphism)

  • 다형성이란 프로그램 언어 각 요소들(상수, 변수, 식, 객체, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질

 

사용목적: 사용 편의

구현방법: 오버로딩(여러 종류의 타입을 받아들여 결국엔 같은 기능을 하도록 만들기 위한 작업), 오버라이딩(오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것), 함수형 인터페이스(람다식을 사용하기 위한 API로 자바에서 제공하는 인터페이스에 구현할 메소드가 하나 뿐인 인터페이스), DI

 

 


4. 상속 (Inheritance)

  • 재사용성이라고도 할수 있음
  • 상위 개념의 특징을 하위 개념이 물려받는 것

 

사용목적: 재사용성, 확장성

구현방법: 상속

 

 

 

728x90
반응형