this
1.자신의 멤버
자신의 멤버 변수의 값을 설정할때 사용
예를 들어
public Data(int A, int B)
{
this.A = A;
this.B = B;
}
와 같이 사용하면 Data라는 멤버함수를 포함하는 클래스를 호출하여 사용할때
클래스 자체의 멤버 변수에 Data의 매개변수로 들어가있는 A, B 변수의 값이 저장되어 진다.
2. 클래스 반환
클래스 반환의 의미는 만일 어떤 함수의 반환값이 클래스인 경우 해당 클래스를 반환하는데
현재 선언된 객체를 반환할 수 있다.
예를 들어 DataClass라는 클래스를 반환하는 Data라는 함수를 예를 들자
public DataClass Data()
{
return this;
}
이런 경우Data는 DataClass의 현재 객체를 반환하게 된다.
3. 생성자를 호출
public 생성자() : this(1)
과 같이 선언하는 의미는 무엇일까?
우리가 생성자를 선언할때 매개변수가 없는 생성자를 실행시키면
매개변수가 있는 오버로드된 생성자들이 자동으로 실행되기를 원한다고 해보자.
그럴 경우 위와 같이 생성하면
생성자는 매개변수가 없는 생성자 -> int형 생성자를 소환하게 된다.
이와같이 this는 클래스 자체를 의미한다.
여기서 조심할 것은 this가 선언된 클래스가 아니라 객체화된 클래스라는 점이다.
즉 메모리 할당이 되어진 객체를 의미하는 것이라는 것을 헷갈리지 말아야한다.
참고로 필자는 해당 내용이 헷갈려서.-.- 몇주를 헤맨 적이 있다..^^;;
1.자신의 멤버
자신의 멤버 변수의 값을 설정할때 사용
예를 들어
public Data(int A, int B)
{
this.A = A;
this.B = B;
}
와 같이 사용하면 Data라는 멤버함수를 포함하는 클래스를 호출하여 사용할때
클래스 자체의 멤버 변수에 Data의 매개변수로 들어가있는 A, B 변수의 값이 저장되어 진다.
2. 클래스 반환
클래스 반환의 의미는 만일 어떤 함수의 반환값이 클래스인 경우 해당 클래스를 반환하는데
현재 선언된 객체를 반환할 수 있다.
예를 들어 DataClass라는 클래스를 반환하는 Data라는 함수를 예를 들자
public DataClass Data()
{
return this;
}
이런 경우Data는 DataClass의 현재 객체를 반환하게 된다.
3. 생성자를 호출
public 생성자() : this(1)
과 같이 선언하는 의미는 무엇일까?
우리가 생성자를 선언할때 매개변수가 없는 생성자를 실행시키면
매개변수가 있는 오버로드된 생성자들이 자동으로 실행되기를 원한다고 해보자.
그럴 경우 위와 같이 생성하면
생성자는 매개변수가 없는 생성자 -> int형 생성자를 소환하게 된다.
이와같이 this는 클래스 자체를 의미한다.
여기서 조심할 것은 this가 선언된 클래스가 아니라 객체화된 클래스라는 점이다.
즉 메모리 할당이 되어진 객체를 의미하는 것이라는 것을 헷갈리지 말아야한다.
참고로 필자는 해당 내용이 헷갈려서.-.- 몇주를 헤맨 적이 있다..^^;;