setter는 보내주는, 저장하는 역할
getter는 불러오는, 받아오는 역할이다.
둘 다 Main 클래스 안에 있어야 하며, 보내거나 불러올 변수가 private인지 public인지에 따라 다르다.
1. public
public이란, 모든 함수에서 자유자재로 불러오거나 수정할 수 있는 보안 요소가 없는 변수(또는 메소드)를 만들 때 사용된다.
함수 전체 또한 private와 public을 설정해 줄 수 있다.
//함수
public void name(){}
//변수
public String name;
public으로 지정된 객체들은 다른 클래스에서 어떤 제한도 없이 편하게 불러올 수 있다.
public class Class0 {
public static void main(String[] args) {
public String name = "Suji";
}
}
public class Class1 {
public static void main(String[] args) {
//Class0함수를 class0변수에 대입
Class0 class0 = new Class0
//Class0의test를 불러옴
System.out.println(class0.test);
}
}
//Class1의 출력물: Suji
2. private
public과 달리 특정 조건을 만족하게 하지 못하면, 가져오거나 수정 등을 하지 못한다.
보통 중요한 정보들(아이디, 비밀번호, 고유번호 등)을 저장할 때 사용된다.
public class Person {
private String name;
//setter
public void setName(String name){
this.name = name;
}
//getter
public String getName() {
return this.name;
}
}
public class Main {
public static void main(String[] args) {
String name = "Minsu";
Person person = new Person();
//setter
person.setName(name);
//getter
System.out.println(tutor.getName());
}
}
아무 때나 불러올 수 있는 public과 달리
private는 setter로 값들을 저장, getter로 값들을 불러오는 과정을 거친다.
3. setter
setter는 변수 혹은 함수가 private일 때 변수 혹은 함수 안의 값을 저장하는 용도로 사용된다.
public class Tutor {
private String name;
//name안에 넣을 변수ㄱ
public void setName(String name){
//this.name은 이 함수(Tutor)의 name변수를 뜻한다.
this.name = name;
}
}
4. getter
getter는 private로 지정된 변수 혹은 함수들 안에 저장된 값을 불러올 때 사용된다.
저장된 값이 없으면 getter를 사용할 일이 없어 항상 setter와 같이 사용된다.
public class Tutor {
private String name;
public void setName(String name){
this.name = name;
}
public String getName() {
return this.name;
}
}
//----------------------------------------------
public class Prac {
public static void main(String[] args) {
String name = "Name";
//Tutor함수를 사용할 수 있도록 tutor변수에 대입
Tutor tutor = new Tutor();
//Tutor함수에 setter으로 저장
//미리 지정한 변수 대입 부분에 Prac.name을 대입
tutor.setName(name);
//this.name(Tutor.name)에 Prac.name("Name")값이 setter로 인해 저장됨.
//저장된 값을 미리 만들어 놓은 getter함수로 호출.
System.out.println(tutor.getName());
}
}
'🍃웹개발 Spring' 카테고리의 다른 글
[Spring] IntelliJ SpringBoot 프로젝트 생성하기 (0) | 2022.09.26 |
---|---|
[Spring] H2 DB-Engine (2) | 2022.09.26 |
[Spring] RDBMS란. (1) | 2022.09.26 |
[Spring] Gradle이란. (0) | 2022.09.23 |
[Spring] Rest controller. (0) | 2022.09.23 |