Animal 클래스를 새로 만들어보자.
public class Animal { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Animal(String name, int age) { this.name = name; this.age = age; } public Animal(String name) { this.name = name; } public Animal(int age) { this.age = age; } public Animal() {} }
Animal클래스의 멤버변수들이 모두 private(접근 제어자)로 선언되었다. 즉 동일한 클래스에서만 접근이 가능하기 때문에 위에서 했던 방법으로 멤버변수들에 접근할 수 없다.
이때 Getter, Setter를 사용할 수 있다.
Getter와 Setter는 이클립스나 Intellj와 같은 IDE에서 마우스 우클릭 > Generate > Getter and Setter를 이용해 쉽게 만들 수 있다.
public String getName() { return name; }
이게, getter이다. 말그대로 멤버변수 name을 반환하는 메소드이다.
public void setName(String name) { this.name = name; }
이건 setter, name을 받아 멤버변수에 저장해주는 메소드이다.
이제 이 Getter와 Setter를 사용해 Main 클래스에서도 멤버변수의 값을 변경하고 가져올 수 있다.
Animal cat = new Animal(); cat.setAge(1); cat.setName("나비"); System.out.println("고양이의 나이는 "+cat.getAge()); System.out.println("고양이의 이름은 "+cat.getName());
Animal 객체를 생성해준후, setAge, getAge와 같은 메소드를 활용해 Animal클래스의 멤버변수 값에 접근할 수 있다.
댓글