안녕하세요.


지난시간에는 슬라임 클래스를 만들어보았습니다.


하나의 슬라임 클래스가 하나의 슬라임 개체(객체)였는데요.


이번 시간에는 하나의 슬라임 클래스를 여러 슬라임의 설계도처럼 사용해보도록 하겠습니다.





기존에는 변수와 함수에 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


이런식으로 클래스 하나로 슬라임들을 마구마구 만들어낼 수 있습니다. 클래스가 마치 설계도처럼 사용된거죠.


이렇게 개체(객체)를 만들어낼때 꼭 알아야 하는 개념이 '생성자'입니다. 다음시간에는 '생성자'에 대해 배우도록 하죠.


감사합니다.

+ Recent posts