본문 바로가기
자바

객체 지향 4대 특성 간단 정리

by Hyeongjun_Ham 2022. 9. 7.

캡슐화 : 정보 은닉

클래스의 내부 변수와 메서드를 하나로 패키징 하는 특징.

자바에서 정보 은닉이라고 하면 접근제어자가 생각나야한다.

 

- 접근제어자

  • public : 변수, 메서드는 어떤 클래스에서라도 접근이 가능하다.
  • protected : 변수, 메서드는 동일 패키지의 클래스 또는 해당 클래스를 상속받은 다른 패키지의 클래스에서만 접근이 가능하다.
  • default : 접근제어자를 별도로 성정하지 않는다면 접근제어자가 없는 변수, 메서드는 default 접근제어자가 되어 해당 패키지 내에서만 접근이 가능하다.
  • private : 변수, 메서드는 해당 클래스에서만 접근이 가능하다.

 

상속화 : 재사용 + 확장

- '하위 클래스는 상위클래스다.' 를 반드시 만족해야한다.

-> 객체 지향 설계 5원칙 가운데 LSP(리스코프 치환 원칙)를 나타내는 말이다.

  • 객체 지향의 상속은 상위 클래스의 특성을 재사용하는 것이다.
  • 객체 지향의 상속은 상위 클래스의 특성을 확장하는 것이다.
  • 객체 지향의 상속은 is a kind of 관계를 만족해야한다.

 

인터페이스 : 구현 클래스 is able to 인터페이스

 

상위클래스는 하위 클래스에게 특성(속성과 메서드)을 상속해주고,

인터페이스는 클래스가 '무엇을 할 수 있다'라고 하는 기능을 구현하도록 강제하게 된다.

 

상위 클래스는 물려줄 특성이 풍성할수록 좋고, 인터페이스는 구현을 강제할 메서드의 개수가 적을수록 좋다

이유 : LSP(리스코프 치환원칙), ISP(인터페이스 분리 원칙)

 

추상화 : 모델링

구체적인 것을 분해해서 관심영역(애플리케이션 경계, Application Boundary)에 있는 특성만 가지고 재조합 하는것

 

다형성 : 사용편의성

객체 지향에서 다형성이라고 하면 오버라이딩과 오버로딩이라고 할 수 있다.

  • 오버라이딩 : 같은 메서드 이름, 같은 인자 목록으로 상위 클래스의 메서드를 재정의
  • 오버로딩 : 같은 메서드 이름, 다른 인자 목록으로 다수의 메서드를 중복 정의

'자바' 카테고리의 다른 글

스프링 테스트 코드 @RestControllerAdvice를 거치게 하는 방법  (0) 2024.01.25
자바 Atomic 패키지  (2) 2024.01.24
JVM (Java Virtual Machine)  (0) 2024.01.18
자바(JAVA) - synchronized 란?  (0) 2024.01.16
JDK, JRE, JVM 간단 정리  (0) 2022.09.06