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 |