# 리뷰: 마린과 메딕 #### CODE <a class='btn btn-default' href='/codes/40342'>Link</a> ``` public class Starcraft { public static void main (String[] args) { // 객체 생성 Marine ma = new Marine("레이너", 80); Medic me = new Medic("모랄레스", 60, 60); // 마린의 스팀팩! ma.stimpack(); // 메딕의 힐! me.heal(ma); } } class Marine { String name; int hp; Marine(String s, int i) { name = s; hp = i; } // stimpack 메소드 만들기 void stimpack() { System.out.printf("[%s]의 스팀팩! HP: %d -> ", name, hp); hp -= 10; System.out.printf("%d\n", hp); } } class Medic { String name; int hp; int mp; Medic(String s, int h1, int h2) { name = s; hp = h1; mp = h2; } // heal 메소드 만들기 void heal(Marine target) {//Marine은 파라미터임. System.out.printf("[%s]의 치유! => [%s] HP(%d -> ", name, target.name, target.hp); target.hp += 10; System.out.printf("%d)\n", target.hp); } } ``` #### INPUT ``` ``` #### OUPUT ``` [레이너]의 스팀팩! HP: 80 -> 70 [모랄레스]의 치유! => [레이너] HP(70 -> 80) ```
## 출력시 데이터 타입 %s는 String 타입의 데이터를 출력할때 사용됩니다. %d는 int 타입의 데이터를 출력할때 사용됩니다. void stimpack() { System.out.printf("[%s]의 스팀팩! HP: %d -> ", name, hp); hp -= 10; System.out.printf("%d\n", hp); } simpack 메서드에서 name은 String 타입이므로 %s를 사용하여 데이터를 출력해주고 hp는 int 타입이므로 %d를 사용하여 데이터를 출력해 줍니다. void heal(Marine target) {//Marine은 파라미터임. System.out.printf("[%s]의 치유! => [%s] HP(%d -> ", name, target.name, target.hp); target.hp += 10; System.out.printf("%d)\n", target.hp); } heal 메서드에서도 마찬가지로 name 과 target.name의 데이터 타입이 String 이므로 %s를 사용하여 데이터를 출력해주고 target.hp의 타입이 int 이므로 %d 를 사용하여 데이터를 출력해 줍니다.