Programing/Java

[Java] 예제 클래스 생성자

즐거운깐족이 2016. 5. 22. 15:28
Java 클래스 예제



파일명:Ex05_15_생성자.java

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Tv3{
    private String color;
    private boolean power;
    private int ch;
    
    public String getColor(){
        
        return color;
    }
    public boolean getPower(){
        return power;
    }
    public int getCh(){
        return ch;
    }
    
    public Tv3(){
        color="red";
        power=true;
        ch=11;
    }
    public Tv3(String color, boolean power, int ch){ 
            //클래스 이름과 같은 매서드를 생성자라고 부른다. 리턴 타입이 없다(void도 안씀)
            //객체를 만들면 생성자가 자동으로 호출된다.
            //생성자는 정의하지 않아도 기본으로 만들어진다.
 
        this.color=color;
        this.power=power;
        this.ch=ch;
    }
}
public class Ex05_15_생성자 { //constructor
    public static void main(String[] args) {
        Tv3 t1 = new Tv3();
        Tv3 t2 = new Tv3("blue", true, 13);
        
        System.out.println(t1.getColor());
        System.out.println(t2.getColor());
        
    }
 
}
cs

예제 코드


결과


클래스에는 기본적으로 생성자자는 것이 있다.
생성자란 클래스의 객체가 생성될 때 기본적으로 실행해 주는 매서드인데
지금까지의 예제에는 따로 생성자를 만들어 주지도 않고 보이지도 않았고 객체가 생성될때 특별히 다른 기능도 실행되지 않았다.

이는 클래스의 생성자는 클래스를 생성할 때 자동적으로 생성되어지고 따로 보이지 않기때문이다.
이번 예제는 생성자에 대해 실험하는 예제이다.

생성자는 클래스의 이름과 같이 만들어져 있다(보이진 않지만)
위의 예제는 클래스와 같은 이름의 생성자를 만들어줘 객체가 생성되면서 자동으로 생성자가 실행되 맴버변수에 값을 넣어주는 기능할 하고 있다.

생성자는 갯수에 상관없이 여러개를 만들어 줄수 있으나 같은 매개변수를 받는 생성자는 중복될수 없으며
매개변수를 받는 생성자를 만들었다면 매개변수를 받지 않는 그동안 자동적으로 생성되었던 생성자를 따로 만들어줘야 한다.

위는 생성자를 통해여 private인 맴버변수에 값을 넣어주고 받아오는 예제이다.