일모도원(日暮途遠) 개발자
[Java] 내부 클래스에서 외부 클래스의 메소드를 부를때. 본문
내부 클래스에서 외부 클래스의 메소드를 부를때는 그냥 메소드명으로 부르면 된다.
하지만 같은 이름의 메소드가 내부/외부에 같이 있을때는 그냥 메소드명으로 부르면 내부 클래스의 메소드가 호출된다.
외부 클래스의 메소드를 호출하기 위해서는
"외부클래스명.this.메소드명"으로 호출해야 한다.
즉 Outer.this.show() 이런씩으로 내부 클래스내에서 호출하면 외부 클래스인 Outer클래스의 show메소드가 호출된다.
class Outer {
void show() {
System.out.println("outter show");
}
class Inner{
void show() {
System.out.println("inner show");
}
void myMethod() {
show(); //"inner show"
Outer.this.show(); //"outter show"
}
}
}
'프로그래밍 언어 > 자바' 카테고리의 다른 글
[자바] 클래스의 초기화 블럭 (이름없는 메소드) (0) | 2022.09.09 |
---|---|
[Java] java패키지와 javax패키지 (0) | 2022.07.23 |