# 숨겨진 필드 변경하기 - 세터(setter)
#### 세터의 필요성?
<kbd>private</kbd> 필드는 외부에서 직접 값을 변경(write)할 수 없습니다. 이를 해결하기 위해서 세터 메소드가 필요합니다.
![클라우드스터딩-자바-세터-메소드](https://i.imgur.com/rk87USi.png)
#### 코드 예
세터(setter)는, private 필드를 우회적으로 변경(write)합니다.
```
class SmartPhone {
// private 필드
private int number;
// 세터 메소드
public void setNumber(int n) {
number = n;
}
}
```
### 세터의 특징
세터 메소드는 아래의 특징을 갖습니다.
- private 필드를 변경한다.
- public 이다.
- 메소드명은 반환하려는 private 필드명 앞쪽에 set을 붙인다.
## 문제
주어진 코드는 생성된 Lock 객체의 비밀번호를 변경하는 코드이다. 하지만 아래와 같은 에러가 발생한다.
```
LockTest.java:7: error: password has private access in Lock
lock.password = "654#@!";
^
1 error
```
세터(setter)를 활용하여 출력 예와 같은 결과를 얻으시오.
## 출력 예
```
Lock { password: 654#@! }
```