안녕하세요
지난시간에는 생성자라는 것에 대해 배웠습니다.
이번시간에는 생성자의 존재가치에 대해 배워보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // Study01.java package study; public class Study01 { public static void main(String[] args) { Slime s1 = new Slime(); s1.name = "슬라삐"; } } | cs |
9행에서 s1이라는 슬라임 객체를 만들어줬고, 10행에서 그 객체에 이름을 정해줬습니다. 마치 어떤 홈페이지에 회원가입할때 아이디를 정하고 실명을 입력시키는 것과 비슷하네요.
자, 그런데말입니다. 생성자를 이용하면 이 과정을 한줄로 축약할 수 있습니다. 슬라임 클래스로 가서 아래와 같이 생성자를 수정해주세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // Slime.java package study; public class Slime { String name; int hp; // 생성자 public Slime(String n) { name = n; } // 공격 public void attack() { System.out.println(name + "는 인간을 공격했습니다"); } } | cs |
생성자도 함수이기 때문에 인수를 넣어줄 수가 있어요. 인수가 들어오면 그 값을 일단 n 변수가 받는데, 14행에서 n에 들어있는 값을 name 변수에 집어넣는군요! 컨트롤+S를 눌러 저장해놓고, 스터디01 클래스로 다시 돌아옵시다.
어라? 9행에 에러가 나있네요? 생성자에 인수를 넣도록 수정했는데 괄호속이 비어있어서 나는 에러입니다. 괄호속에 슬라임의 이름을 적고 10행은 삭제해주도록 합시다.
이름이 잘 들어갔는지 확인해보기 위해 어택 함수도 적어줬습니다. 콘솔창에 출력이 잘 되었군요^^
이 시점에서, 객체를 생성하는 공식에 대한 설명을 조금 정정할 필요가 있어 보이는군요.
클래스명 변수명 = new 생성자(인수);
게임이 구성되려면 슬라임 클래스만 있어서는 안되겠죠? 다음 시간에는 인간 클래스도 만들어보겠습니다.
감사합니다.
'자바로 게임 만들기' 카테고리의 다른 글
[자바로 게임 만들기] 29. 골라서 공격하기 (0) | 2019.01.21 |
---|---|
[자바로 게임 만들기] 28. 인간 클래스 (0) | 2019.01.17 |
[자바로 게임 만들기] 26. 슬라임 탄생 (2) | 2019.01.14 |
[자바로 게임 만들기] 25. 슬라임 번식 시키기 (0) | 2019.01.10 |
[자바로 게임 만들기] 24. 슬라임의 공격이 시작되었습니다 (1) | 2019.01.10 |