안녕하세요.
지난시간에는 슬라임 클래스를 만들어보았습니다.
하나의 슬라임 클래스가 하나의 슬라임 개체(객체)였는데요.
이번 시간에는 하나의 슬라임 클래스를 여러 슬라임의 설계도처럼 사용해보도록 하겠습니다.
기존에는 변수와 함수에 static이라는 글자가 붙어 있었는데요, 과감하게 제거를 해줍시다!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // Slime.java package study; public class Slime { String name; int hp; public void attack() { System.out.println(name + "는 인간을 공격했습니다"); } } | cs |
에러가 날 것 같지만 에러가 나지 않습니다^^
스터디01 클래스로 가볼까요?
헉스... 이게 웬일? 슬라임 클래스에 만들어둔 변수와 함수들이 하나도 뜨질 않네요.
static을 제거한 변수와 함수들은 개체를 생성해야 사용할 수 있다는 법칙이 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // Study01.java package study; public class Study01 { public static void main(String[] args) { Slime s1; s1 = new Slime(); } } | cs |
9행이 좀 신기하죠?
자료형 변수명;
이런 형태인데 자료형이 슬라임이네요 ㅎ 클래스명과 같습니다. 슬라임 개체를 담을 박스가 준비되었습니다.
11행도 되게 생소해 보이실텐데 새로운 슬라임을 생성해서 s1변수에 집어넣는 내용입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | // Study01.java package study; public class Study01 { public static void main(String[] args) { Slime s1 = new Slime(); } } | cs |
한줄로 적고 싶으면 이렇게 하면 되겠죠^^ 공식으로 나타내면 아래와 같습니다.
클래스명 변수명 = new 클래스명();
앞으로 자주 쓸 형태이므로 아주 중요합니다~!
s1에서 점을 찍으니 보고싶었던 변수와 함수가 보이네요^^ (다른 것들도 많이 뜨는데 무시합시다^^)
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 | // Study01.java package study; public class Study01 { public static void main(String[] args) { Slime s1 = new Slime(); s1.name = "슬라삐"; s1.hp = 100; s1.attack(); Slime s2 = new Slime(); s2.name = "슬라돌"; s2.hp = 200; s2.attack(); Slime s3 = new Slime(); s3.name = "슬라밍"; s3.hp = 300; s3.attack(); } } | cs |
이런식으로 클래스 하나로 슬라임들을 마구마구 만들어낼 수 있습니다. 클래스가 마치 설계도처럼 사용된거죠.
이렇게 개체(객체)를 만들어낼때 꼭 알아야 하는 개념이 '생성자'입니다. 다음시간에는 '생성자'에 대해 배우도록 하죠.
감사합니다.
'자바로 게임 만들기' 카테고리의 다른 글
[자바로 게임 만들기] 27. 생성자를 사용해 슬라임 이름 바로 넣어주기 (0) | 2019.01.15 |
---|---|
[자바로 게임 만들기] 26. 슬라임 탄생 (2) | 2019.01.14 |
[자바로 게임 만들기] 24. 슬라임의 공격이 시작되었습니다 (1) | 2019.01.10 |
[자바로 게임 만들기] 23. 클래스 (0) | 2019.01.09 |
[자바로 게임 만들기] 22. 클래스에 색칠하기 (0) | 2019.01.09 |