# 리뷰: 게터/세터와 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 } ``` 결과값은 정답과 같게 나오기는 했으나 코드 작성이 달라 여쭙습니다 이런 식으로 메소드 내에서 세터를 사용하는 것은 좋지 않은 코딩 방식인가요 ?
### 좋은 방식입니다. 직접 값을 바꾸는 것보다, 기존의 메소드로 동작의 일관성을 높히면 좋습니다. 👍