기본적으로 같은 클래스 내에서 사용되는 모든 식별자는 이름이 중복되면 안된다. 하지만, 변수의 이름은 코드블록이 다르면 서로 중복이 가능하다.
package pack;
public class Test{
public ex() { }
public ex(int a) { }
public ex(String n) { }
public ex(int a, String n ) { }
public ex(String n, int a) { }
}
package pack;
public class Test2 {
public void sum() { }
public void sum(int a) { }
public void sum(String n) { }
public void sum(int, String n) { }
public void sum(String n, int a) { }
}
this란? 객체 생성 후 힙 메모리에 생성된 '자기 자신의 인스턴스'를 의미한다. 즉, 인스턴스가 '자기 자신'을 가리킬 때 사용할 수 있다.
heap 메모리에 생성된 인스턴스를 참조하는 경우는 객체 생성시 사용된 참조변수를 이용하거나 (형태 : 변수.멤버) 자기자신을 참조하는 경우(형태 : this.멤버)이다.
package pack;
public class Test3{
String name; // 인스턴스 변수
public void setName(String Name) { // 로컬 변수
this.name = name; // this를 이용해서 인스턴스 변수를 가리킨다.
}
}
참고 문헌 : 자바 프로그래밍 활용 - 에이콘 아카데미
잘 읽었습니다. 좋은 정보 감사드립니다.