프로그래밍 언어/자바
[Java] 내부 클래스에서 외부 클래스의 메소드를 부를때.
달님개발자
2023. 2. 2. 14:40
반응형
내부 클래스에서 외부 클래스의 메소드를 부를때는 그냥 메소드명으로 부르면 된다.
하지만 같은 이름의 메소드가 내부/외부에 같이 있을때는 그냥 메소드명으로 부르면 내부 클래스의 메소드가 호출된다.
외부 클래스의 메소드를 호출하기 위해서는
"외부클래스명.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"
}
}
}
반응형