산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 캡슐화: 안전한 데이터 은닉과 제어

캡슐화(Encapsulation)는 네 가지 기본 OOP 개념 중 하나입니다. 나머지 세 가지는 상속, 다형성, 추상화입니다.

자바에서 캡슐화는 데이터(변수)와 데이터를 다루는 코드(메서드)를 단일 단위로 감싸는 메커니즘입니다. 캡슐화에서 클래스의 변수들은 다른 클래스들로부터 숨겨지며, 오직 자신의 클래스 메서드를 통해서만 접근할 수 있습니다. 따라서 데이터 은닉(data hiding)이라고도 합니다.

자바에서 캡슐화를 달성하려면:

예제: 자바 캡슐화 달성


/* File name: EncapTest.java */
public class EncapTest {
    private String name;
    private String idNum;
    private int age;

    public int getAge() { return age; }
    public String getName() { return name; }
    public String getIdNum() { return idNum; }

    public void setAge(int newAge) { age = newAge; }
    public void setName(String newName) { name = newName; }
    public void setIdNum(String newId) { idNum = newId; }
}

public setXXX()와 getXXX() 메서드들은 EncapTest 클래스의 인스턴스 변수들에 대한 접근 지점입니다. 보통 이 메서드들을 게터(getter)와 세터(setter)라고 부릅니다. 따라서 변수에 접근하려는 모든 클래스는 이 게터와 세터를 통해 접근해야 합니다.

EncapTest 클래스의 변수들은 다음 프로그램으로 접근할 수 있습니다.


/* File name: RunEncap.java */
public class RunEncap {
    public static void main(String args[]) {
        EncapTest encap = new EncapTest();
        encap.setName("James");
        encap.setAge(20);
        encap.setIdNum("12343ms");
        System.out.print("Name: " + encap.getName() + " Age: " + encap.getAge());
    }
}

실행 결과


Name: James Age: 20

캡슐화의 이점

java

  1. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  2. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  3. Java 캡슐화 마스터: 데이터 은닉 실전 가이드
  4. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  5. Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제
  6. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  7. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작
  8. Java ObjectOutputStream 마스터하기: 직렬화, 메서드, 실전 예제
  9. Java 제네릭 마스터하기: 재사용 가능하고 타입 안전한 코드 작성
  10. java.io로 Java 파일 작업 마스터하기 – 생성, 읽기, 쓰기 및 삭제