class Temp{
int data = 100;
int add(int i){
return i * 10 + this.data;
}
}
public class Main{
public static void main(String[] args){
Temp t = new Temp();
t.data = t.add(20);
System.out.println( t.data ); // 결과값 : 300
}
}
- t.add( 20 ); >> 호출했을 때, 함수 안에서 this 라는 포인터를 쓸 수 있다.
- this 는 현재 호출되는 함수( add ) 가 소속된 인스턴스 Temp를 가리키게 된다. this 를 통해서 data 와 add 함수에 접근할 수 있다.
class Temp{
Temp( int i ){
this.data = i;
}
int data = 100;
int add( int i ){
return i + this.data;
}
}
public class Main {
public static void main(String[] args){
Temp t = new Temp( 150 );
t.data = t.add( 20 );
System.out.println( t.data ); // 결과값 : 170
}
}
- Constructor(생성자함수) : 리턴타입 없고 클래스 이름만으로 선언하며, 함수명과 클래스 이름이 같은 함수이다.
- 주 역할 : 클래스 안에서 선언된 변수의 초기값을 설정한다..
- 생성자함수는 인스턴스가 생성되는 시점에 호출된다.
- 클래스 안에서 변수를 선언할 수 있고, 함수를 선언할 수 있다.
- 클래스 안에서 선언된 변수 : 멤버 변수, 프로퍼티( property )
- 클래스 안에서 선언된 함수 : 멤버 함수, 메서드( method )
- 생성자 안에서 this 라는 포인터를 사용할 수 있고, 이를 이용해 주로 멤버변수 ( data ) 를 초기화 한다.
- 이 때 생성자함수는 멤버 변수가 아니므로 참조형변수로 호출할 수 없다.