자바에서 클래스의 필드나 메서드에 접근 제어자를 설정하는 것은 중요한 작업입니다. 이를 통해 필드나 메서드의 보안성을 유지하고 데이터 캡슐화를 도모할 수 있습니다. 이번 포스트에서는 'private' 접근 제어자와 이와 관련된 'getter'와 'setter' 메서드에 대해 살펴보겠습니다.
Private 접근 제어자란?
'private'는 가장 엄격한 접근 제어자로, 이를 선언한 클래스 외부에서 해당 필드나 메서드에 접근할 수 없게 하는 역할을 합니다. 이는 데이터의 안정성을 보장하고 무분별한 접근으로부터 데이터를 보호하는데 큰 역할을 합니다. 하지만, 때때로 외부에서 이 데이터에 접근하거나 변경해야 할 필요가 있을 수 있습니다. 그럴 때 필요한 것이 'getter'와 'setter' 메서드입니다.
Getter와 Setter 메서드란?
'getter'와 'setter'는 각각 클래스의 필드 값을 읽고 쓰는 역할을 하는 메서드입니다.
'getter' 메서드는 해당 필드의 값을 반환합니다. 이 메서드를 통해 필드의 값을 안전하게 읽을 수 있습니다.
'setter' 메서드는 인자로 받은 값을 해당 필드에 할당합니다. 이 메서드를 통해 필드의 값을 안전하게 변경할 수 있습니다.
이들 메서드를 활용하면, private으로 선언된 필드도 외부에서 간접적으로 접근하고 변경할 수 있습니다.
예시코드
이를 활용한 코드를 살펴봅시다.
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
// getter 메서드
public String getName() {
return name;
}
// setter 메서드
public void setName(String name) {
this.name = name;
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person("John");
System.out.println(person.getName()); // John
person.setName("Jane");
System.out.println(person.getName()); // Jane
}
}
위의 코드에서는 'Person' 클래스의 'name' 필드가 'private'으로 선언되어 있지만, 'getName()'과 'setName()' 메서드를 통해 이 필드에 접근하고 변경하는 것이 가능합니다.
결론적으로, 'private' 접근 제어자와 'getter'/'setter' 메서드를 사용하면, 객체의 필드를 안전하게 보호하면서도 필요에 따라 그 값을 조작할 수 있게 됩니다. 이는 코드의 안정성과 유지보수성을 높이는 중요한 기법입니다.
'개발 > Java' 카테고리의 다른 글
Java에서의 인터페이스 (Interface) (0) | 2023.07.18 |
---|---|
Java에서의 추상 클래스와 추상 메소드 (0) | 2023.07.18 |
Java 접근 제어자 이해하기: public, private, protected, default (0) | 2023.07.18 |
Java에서 instanceof 연산자 (0) | 2023.07.18 |
Java의 다형성: 캐스팅 (0) | 2023.07.18 |