getter/setter
클래스의 특성중 정보은닉을 가장 잘 보여주는 메소드입니다.
보통 클래스의 멤버변수는 private로 접근제어자를 설정한 후 getter/setter를 통해서 멤버변수의 값을 변경, 호출하게 됩니다.
1 | class Student { |
2 | // 은닉된 멤버변수 |
3 | private String name; |
4 | private int age; |
5 | |
6 | // 은닉된 멤버 변수에 값을 넣는 방법 -> 메소드를 사용 |
7 | public void setName(String name) { // set함수 |
8 | this.name = name; |
9 | } |
10 | public void setAge(int age) { |
11 | this.age = age; |
12 | } |
13 | // 은닉된 멤버변수의 값을 읽는 방법 |
14 | public void getName() { //get함수 getter |
15 | return name; |
16 | } |
17 | public int getAge() { |
18 | return age; |
19 | } |
20 | } |
1 | public class example_getter_setter { |
2 | public static void main(String[] args) { |
3 | Student s = new Student(); |
4 | s.setName("hongbeen"); |
5 | s.setAge(28); |
6 | |
7 | String name = s.getName(); |
8 | System.out.println("이름: " + name) |
9 | int age = s.getAge(); |
10 | System.out.println("나이: " + age) |
11 | } |
12 | } |
Tip: getter/setter를 쉽게 만들 수 있는 단축키가 있습니다.
Alt + Shift + s를 누르고 Generate Constructor using Fields와 Generate Getters and Setters를 누르고 자신이 이용하고 싶은 멤버변수를 선택하면 금방 만들어집니다.