CoDream

[JAVA]캡슐화(Encapsulation) 본문

JAVA/JAVA 이론

[JAVA]캡슐화(Encapsulation)

코잠 2024. 2. 27. 11:18
728x90
반응형

캡슐화(Encapsulation)

객체 지향 프로그래밍에서 중요한 개념 중 하나로, 데이터와 해당 데이터를 처리하는 메서드들을 하나의 단위로 묶는 것을 의미합니다. 이를 통해 데이터의 접근을 제어하고 데이터의 무결성을 보장할 수 있습니다.

캡슐화를 구현하는 방법은 다양하지만, 일반적으로는 다음과 같은 접근 방법을 사용합니다:

  1. 접근 제어자 활용: 클래스의 멤버 변수를 private으로 선언하여 외부에서의 직접적인 접근을 제한합니다. 이렇게 하면 클래스 외부에서는 해당 변수에 직접적으로 접근할 수 없으며, 오직 클래스 내부의 메서드를 통해서만 접근할 수 있습니다.
  2. Getter와 Setter 메서드: private으로 선언된 멤버 변수에 접근하고 수정하기 위한 public 메서드를 제공합니다. 이러한 메서드를 통해서만 클래스 외부에서 해당 변수에 접근하고 값을 변경할 수 있습니다. 이러한 방식으로, 변수에 대한 읽기 및 쓰기 접근을 제어할 수 있습니다.
public class Person {
    private String name;
    private int age;

    // Getter 메서드
    public String getName() {
        return name;
    }

    // Setter 메서드
    public void setName(String name) {
        this.name = name;
    }

    // Getter 메서드
    public int getAge() {
        return age;
    }

    // Setter 메서드
    public void setAge(int age) {
        if (age > 0) {
            this.age = age;
        }
    }
}

이 클래스에서 **name**과 age 변수는 private으로 선언되어 외부에서 직접 접근할 수 없습니다. 대신에 getName, setName, getAge, **setAge**와 같은 public 메서드를 통해서만 해당 변수에 접근할 수 있습니다. 이렇게 함으로써 데이터에 대한 접근을 제어하고 데이터의 무결성을 보장할 수 있습니다.

728x90
반응형

'JAVA > JAVA 이론' 카테고리의 다른 글

[JAVA] 삼항 연산자(Ternary Operator) / if - else대신 사용  (0) 2024.02.28
[JAVA] 전역변수 = static변수  (0) 2024.02.28
[JAVA] to String() 메서드  (0) 2024.02.26
[JAVA]Final, 상수  (0) 2024.02.26
[JAVA] Static  (0) 2024.02.26