반응형
* (review) this
정의 : 자기 자신을 가리키는 객체 포인터
어디에 있나? 함수의 매개변수 첫번째로 항상 존재한다!
인스턴스 함수 : 컴파일 타임에 만들어지는 함수
왜 존재하나? 객체를 구별하기 위해서
* 스태틱 메소드에서는 인스턴스 필드값을 쓸 수 없다
근데 난 aa=10넣고 싶으면 this의 역할을 똑같이 코딩해주면 된다
스태틱 메소드의 실행 시기는? 시작할 때 미리 만들어진다
* 스태틱의 궁긍적인 목표 : 공유
* 스태틱은 this가 없다
class A {
int a;
setA(int a)
getA()
};
void setA(int a)
{
a = a;
}
void main()
{
A aa;
aa.setA(10);
aa.setA(aa, 10);
}
this를 명시적으로 해야 하는 경우
1. 필드명과 지역변수가 같을 때
2. 메소드에서 자기 자신을 리턴할 때(this를 많이 쓰는 경우 : 뭔가 반복적으로 일을 많이 할때
반응형