# 리뷰: 게터/세터와 this
#### CODE <a class='btn btn-default' href='/codes/74537'>Link</a>
```
public class KnightTest {
public static void main(String[] args) {
// 객체 생성
Knight d = new Knight("돈키호테", 30);
// 정보 출력
Knight.newOne(d);
// 체력 증가: 기존 체력 + 30
//d.setHp(30);
// 결과 출력
Knight.updateHp(d, 30);
}
}
class Knight {
// 필드
String name;
private int hp;
// 생성자
public Knight (String name, int hp){
this.name = name;
this.hp = hp;
}
public static void newOne(Knight k){
System.out.println("[객체 생성]");
System.out.printf(" Knight { name: %s, hp: %d }\n", k.name, k.hp );
}
public static void updateHp(Knight k, int hpUpdate){
k.setHp(hpUpdate);
System.out.printf("[체력 증가 +%d]\n",hpUpdate);
System.out.printf(" Knight { name: %s, hp: %d }", k.name, k.hp );
}
// 게터
public int getHp(){
return this.hp;
}
// 세터
public void setHp(int hp){
this.hp += hp;
}
}
```
#### INPUT
```
```
#### OUPUT
```
[객체 생성]
Knight { name: 돈키호테, hp: 30 }
[체력 증가 +30]
Knight { name: 돈키호테, hp: 60 }
```
결과값은 정답과 같게 나오기는 했으나 코드 작성이 달라 여쭙습니다
이런 식으로 메소드 내에서 세터를 사용하는 것은 좋지 않은 코딩 방식인가요 ?
sehongpark님의 답변
### 좋은 방식입니다.
직접 값을 바꾸는 것보다,
기존의 메소드로
동작의 일관성을 높히면 좋습니다. 👍