잉?

[JAVA] 캡슐화(Encapsulation)와 추상화(Abstraction)에 대해 알아보자 본문

자바(Java)

[JAVA] 캡슐화(Encapsulation)와 추상화(Abstraction)에 대해 알아보자

Jye_647 2023. 7. 19. 20:47

캡슐화(Encapsulation)

클래스 안에 서로 연관 있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것이다.

즉, 클래스의 내부 변수와 메서드를 하나로 패키징 하는 것이다.

 

정보은닉

캡슐화를 하는 중요한 목적 중 하나이다.(캡슐화 ≠ 정보은닉)

접근제어자를 통해 데이터를 보호하고, 보호된 변수는 getter나 setter 등의 메서드를 통해서만 간접적으로 접근이 가능하도록 하는 것이 캡슐화의 중요한 목적이다.

 

접근제어자

private < default < protected < public 순으로 많은 접근을 허용한다.

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

[OOP] 객체지향의 특징 - 캡슐화(Encapsulation)와 정보 은닉 - 𝝅번째 알파카의 개발 낙서장

객체. 즉, 클래스의 내부 변수와 메소드를 하나로 패키징하는 특징이다. 객체에 선언된 변수나 메소드가 구분없이 중구난방으로 접근할 수 있다면 정상적인 객체로 보기 어렵다. 캡슐화와 비슷

blog.itcode.dev

 

07-02 접근 제어자

접근 제어자(access modifier)를 사용하여 변수나 메서드의 사용 권한을 설정할 수 있다. 다음과 같은 접근 제어자를 사용하여 사용 권한을 설정할 수 있다. * pri…

wikidocs.net


추상화(Abstraction)

정확하게 표현하기 힘든 것들을 중요한 부분이나 특징점을 잡아 설명하는 것을 말한다.

즉, 객체들의 공통된 특징을 파악해 정의해 놓은 설계 기법이라고 할 수 있다.

 

제어 추상화

  • 불필요한 세부 정보는 숨긴다.
  • 메소드의 작동방식과 같은 내부 로직을 숨기는 것을 말한다.
  • 프로그래밍을 빠르게 설계하고 구현하기 위해 사용한다.
  • 예시로 for문, while문도 반복하는 개념을 제어 추상화 한 것이라고 볼 수 있다. 코드를 반복하는 데 있어 내부 동작이 어떻게 이루어지는 가를 알 필요 없이, 반복 기능이 추상화된 문법을 복잡한 지식 없이 간단하게 이용해 프로그램을 구상할 수 있었던 것이다.

데이터 추상화

  • 객체의 관련 속성만 표시한다.
  • 간단한 개념으로 일반화 하는 과정을 말한다.
  • 객체의 디테일함이 사라지고 공통된 특징만 남게 된다.
  • 예시로 아이폰 → 휴대폰 → 통신기기 → 전자제품으로 추상화가 이어질 수 있다.
 

💠 객체 지향 개념과 추상화 완벽 이해하기

객체 지향(OOP) 개념과 특징 객체 지향 프로그래밍 이란, 많은 객체(Objcet)들이 모여서 상호 협력하면서 데이터를 처리하는 방식의 프로그래밍 설계 방법을 일컫는다. 좀더 쉽게 말하면, 프로그램

inpa.tistory.com

 

Comments