반응형
getter , setter
정의
부모 클래스의 멤버 변수는 private로 선언하는 것이 좋다.
왜그럴까?
캡슐화와 자료보호에 대한 목적으로 해당 클래스의 내부에서만 사용할 수 있도록 하기 위함이다.
하나의 프로젝트를 진행할 때 많은 사람들과 협업을 통해 프로젝트를 수행하므로 해당 자료를 보호 할 수 있도록 private 멤버 변수를 사용하는 것이 좋다.
이러한 부모클래스의 private 멤버 변수에 값을 접근 할때 getter와 setter가 사용된다.
한가지 예시를 들면 이해하기가 쉽다.
코로나로 인해 A군이 병원에 격리 되었다고 할때 A군의 어머니가 A군에게 물건을 전달해주고 싶다고 한다면,
A군 어머니는 A군이 입원해있는 병원에 직접 물건을 전달해줄수 없다.
그래서 그 사이에 간호사를 통해 A군에게 물건을 전달해 주어야한다.
거기서 간호사의 역할을 하는것이 getter와 setter이다.
부모클래스의 private 멤버변수를 접근하여 값을 수정하고 가져올때 getter와 setter를 이용한다는 것이다.
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.*;
class Person{
// 속성
private int age;
private String name;
// 생성자
Person(){}
Person(int age, String name){
this.age = age;
this.name = name;
}
//getter setter
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 메서드
void move() {
System.out.println("나이가 " + age +"이며 이름은 " + name+" 입니다.");
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person();
p1.setName("현영우");
p1.setAge(25);
p1.move();
}
}
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
Java 자바의 Static (0) | 2022.08.30 |
---|---|
Java 자바의 배열 정렬(Sorting) (0) | 2022.08.07 |
Java 자바의 추상 클래스와 추상 메소드 (0) | 2022.08.06 |
Java 자바의 Class (0) | 2022.08.06 |
Java 자바의 String, StringBuffer, StringBuilder (0) | 2022.08.04 |