728x90
Getter | Setter |
private 필드를 우회적으로 접근 | private 필드를 우회적으로 변경 |
public 타입 get필드명 () { ;} | public [void / return] set필드명() { ;} |
< Getter > - private 필드를 우회적으로 접근
- 감춰진 필드 가져오기 : Getter
- private 필드는 외부에서 직접 값을 가져올 수 없어서 외부에서 읽기 위해서는 게터 메소드가 필요함
- Getter의 특징
1. getter는 private 필드를 반환하고
2. 외부 접근 가능하도록 public 선언되어야 함
3. get어쩌고로 메소드 만들어져야 함
public class PersonTest {
public static void main(String[] args) {
// 객체 생성
Person park = new Person("도로시", "010-1234-5678");
/* 1. 게터를 호출하여 필드값을 얻으시오. */
System.out.printf("이름 : %s\n", park.getName());
System.out.printf("연락처 : %s\n", park.getPhoneNumber());
}
}
class Person {
// 필드
private String name;
private String phoneNumber;
// 생성자
public Person(String n, String p) {
name = n;
phoneNumber = p;
}
/* 2. 게터를 추가하시오. */
public String getName() {
return name;
}
public String getPhoneNumber() {
return phoneNumber;
}
< Setter > - private 필드를 우회적으로 변경
- 숨겨진 필드 가져오기 : Setter
- private 필드는 외부에서 직접 값을 변경할 수 없어서 이를 해결하기 위해서 세터 메소드가 필요함
- Setter의 특징
1. 외부 접근 가능하도록 public 선언되어야 함
2. 외부에서 값을 입력받아야 하므로 파라미터 존재, 필드에 대입하는 코드 필요
3. set어쩌고로 메소드 만들어져야 함
public class LockTest {
public static void main(String[] args) {
// 객체 생성
Lock lock = new Lock("123!@#");
// 객체 비밀번호 변경
lock.setPassword("654#@!");
// 객체 정보 출력
System.out.println(lock.toString());
}
}
class Lock {
// 필드
private String password;
// 생성자
public Lock(String p) {
password = p;
}
// 메소드
public String toString() {
return String.format("Lock { password : %s }", password);
}
/* 1. 비밀번호 변경을 위해, 세터 메소드를 추가하시오. */
public void setPassword(String pw) {
password = pw;
}
}
- 참고영상 : https://youtu.be/C7FF4PLac3Y
728x90
'🤯TIL > JAVA' 카테고리의 다른 글
[이것이 자바다 - 연습문제] chapter 05. 참조 타입 (0) | 2022.10.13 |
---|---|
[이것이 자바다 - 연습문제] chapter 04. 조건문과 반복문 (0) | 2022.10.11 |
[이것이 자바다 - 연습문제] chapter 03. 연산자 (0) | 2022.10.10 |
[이것이 자바다 - 연습문제] chapter 02. 변수와 타입 (0) | 2022.10.10 |
[이것이 자바다 - 연습문제] chapter 01. 자바 시작하기 (0) | 2022.10.10 |