캡슐화
캡슐화는 네 가지 기본 OOP 개념 중 하나입니다. 나머지 세 가지는 상속, 다형성, 추상화입니다.
Java의 캡슐화는 데이터(변수)와 데이터(메소드)에 작용하는 코드를 단일 단위로 함께 래핑하는 메커니즘입니다. 캡슐화에서 클래스의 변수는 다른 클래스에서 숨겨지고 현재 클래스의 메서드를 통해서만 액세스할 수 있습니다. 따라서 데이터 은닉이라고도 합니다.
Java에서 캡슐화를 달성하려면 -
- 클래스의 변수를 private로 선언합니다.
- 변수 값을 수정하고 볼 수 있는 공개 setter 및 getter 메서드를 제공합니다.
추상화
추상화는 사건보다는 아이디어를 다루는 품질입니다. 예를 들어, 이메일의 경우 이메일을 보내자마자 일어나는 복잡한 세부사항, 이메일 서버가 사용하는 프로토콜 등의 복잡한 세부 사항은 사용자에게 숨겨져 있습니다. 따라서 이메일을 보내려면 내용을 입력하고 받는 사람의 주소를 언급한 다음 보내기를 클릭하기만 하면 됩니다.
마찬가지로 객체 지향 프로그래밍에서 추상화는 구현 세부 사항을 사용자에게 숨기는 프로세스이며 기능만 사용자에게 제공됩니다. 즉, 사용자는 개체가 수행하는 작업 대신 개체가 수행하는 작업에 대한 정보를 갖게 됩니다.
Java에서 추상화는 Abstract 클래스와 인터페이스를 사용하여 이루어집니다.