본문 바로가기

Programming language/Java

Java - 5 [생성자, this]

생성자(Constructor)

- 객체를 생성할 때 선언하는 구문으로 생성자 안에 인수를 넣으면 객체의 선언과 동시에

변수 기입이 가능하며 생성자 또한 오버로딩이된다.

public class Constructor {
    String name;
    int age;

    public Constructor(String p_name, int p_age) {
        name = p_name;
        age = p_age;

    }

    public Constructor(int p_age) {
        name = "김철수";
        age = p_age;
    }

    public Constructor() {
        name = "김철수";
        age = 28;

    }

    public static void main(String[] args) {
        Constructor constructor = new Constructor("name", 28);
        System.out.println(constructor.name);
    }
}

 

this

- 무언가를 가리키는 단어로서 java에서 this는 현재 있는 클래스(인스턴스)를 뜻한다. 

class Person {
    private String name;
    
    public Person(String pName) {
        name = pName;
    }
    
    public void sayHello() {
        System.out.println("Hi. My name is " + this.name);
    }
}

- 위와같이 this.name 은 Person.name 과 같은 뜻이다.

 

public void setName(String name) {
    this.name = name;
}

- 위와 같은 단어도 마찬가지이다. 예전에는 변수이름을 다르게두어

name = Name이렇게 했겠지만. this라는 키워드가 붙으면 쉽게 구분이 가능하다.