JAVA/정리한 것

[ JAVA ] 클래스(2)

따갓 2022. 5. 12. 20:15
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 ) 를 초기화 한다.
  • 이 때 생성자함수는 멤버 변수가 아니므로 참조형변수로 호출할 수 없다.