Java 에서 Class를 공부하다보면 접근 제어자(Access Modifiers)에 자연스럽게 관심이 가게 되고, 이것을 정확하게 인지하지 못하면 다음 진도로 넘어가도 헷갈리기 시작한다. Java에는 네가지 종류의 접근제어자가 있고 그 중 , private 접근 제어자는 클래스의 필드(변수)를 직접적으로 외부에서 접근할 수 없게 함으로써 데이터를 보호한다. 이러한 필드에 대한 안전한 접근을 제공하기 위해 일반적으로 Setter 와 Getter 메소드를 사용한다.
Getter
Getter 메소드는 클래스의 필드값을 읽기 위한 메소드이다. 이 메소드는 보통 public으로 선언되어, 외부에서 해당 필드의 값을 조회할 수 있도록 한다. Getter 메소드는 보통 필드 이름 앞에 get을 붙여서 이름을 지정한다. 필드 값의 변경을 허용하지 않고, 단순히 값을 반환하는 역할만 한다.
Setter
Setter 메소드는 클래스의 필드값을 설정하기 위한 메소드이다. 이 메소드 또한 public으로 선언되어, 외부에서 해당 필드의 값을 설정할 수 있도록 한다. Setter 메소드는 보통 필드 앞에 set을 붙여서 이름을 지정한다. 이 메소드를 통해 필드 값의 유효성 검사를 수행할 수도 있으며, 필드 값을 안전하게 변경할 수 있다.
예제
public class Person {
private String name; // 클래스 내부에서만 접근 가능한 필드
private int age; // 클래스 내부에서만 접근 가능한 필드
// name 필드에 대한 getter 메서드
public String getName() {
return name;
}
// name 필드에 대한 setter 메서드
public void setName(String name) {
this.name = name;
}
// age 필드에 대한 getter 메서드
public int getAge() {
return age;
}
// age 필드에 대한 setter 메서드
public void setAge(int age) {
if(age > 0) { // 유효성 검사 예시
this.age = age;
}
}
}
이 예제에서 Person 클래스는 name , age 라는 private 필드를 가지고 있으며, 이 필드에 대한 접근을 위해 Getter와 Settetr를 활용한다. 이러한 방식을 통해 클래스의 필드에 대한 접근을 제어하고, 데이터의 유효성을 검사하며, 클래스의 내부 표현을 캡슐화할 수 있다.
'Java' 카테고리의 다른 글
[Java] 오버로딩 & 오버라이딩(Overloading & Overriding) (0) | 2024.04.09 |
---|---|
[Java] 생성자(Constructor) (0) | 2024.03.31 |
[Java] 접근 제어자(Access Modifiers) (0) | 2024.03.26 |
[Java] 스택(Stack)과 힙(Heap) (0) | 2024.03.24 |
[Java] 삼항 연산자(조건 연산자) (0) | 2024.03.18 |