[java] 클래스와 객체의 데이터 은닉에 대해 설명해주세요.
클래스와 객체는 자바의 핵심 요소입니다. 데이터 은닉은 객체 지향 프로그래밍(OOP)에서 중요한 개념 중 하나입니다. 데이터 은닉은 클래스와 객체 내부의 데이터를 외부로부터 보호하고 접근을 제한하는 개념입니다.
자바에서 데이터 은닉을 구현하기 위해 private
키워드를 사용할 수 있습니다. private
로 선언된 멤버 변수는 동일한 클래스 내에서만 접근할 수 있습니다. 외부에서는 직접적으로 해당 변수에 접근할 수 없습니다. 이는 클래스 외부에서의 데이터 수정을 방지하고 객체 내부의 상태를 유지하는 데 도움이 됩니다.
아래는 데이터 은닉을 사용하는 예제입니다.
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
public int getAge() {
return age;
}
public void setAge(int newAge) {
if (newAge >= 0) {
age = newAge;
}
}
}
위의 예제에서 name
과 age
변수는 private
로 선언되었습니다. 따라서 클래스 외부에서는 직접적으로 접근할 수 없습니다. 대신, getName()
및 getAge()
메소드를 통해 객체의 상태를 가져올 수 있고, setName()
및 setAge()
메소드를 사용하여 객체의 상태를 변경할 수 있습니다.
데이터 은닉을 통해 객체의 상태에 대한 접근을 제어함으로써, 코드의 안정성과 유지 보수성을 향상시킬 수 있습니다. 이는 객체 지향 프로그래밍의 주요한 이점 중 하나입니다.
추가적인 참고자료:
- Oracle Java Tutorial: Controlling Access to Members of a Class
- GeeksforGeeks: Encapsulation in Java