Backend/JAVA
[JAVA] 내부클래스 inner class
howdyoon
2023. 3. 21. 13:07

내부클래스 inner class
- 클래스 내부에서 선언된 클래스
[ WebProgram 클래스 생성 후 실습 ]
package oop0321;
import oop0321.WebProgram.Language;
import oop0321.WebProgram.Smart;
public class Test06_inner {
public static void main(String[] args) {
WebProgram web=new WebProgram();
web.print();
//에러. 내부클래스는 직접 접근할 수 없다
//Language lang=new Language();
//Smart sm=new Smart();
//내부클래스는 외부에서 단계적으로 접근할 수 있다
Language lang=new WebProgram().new Language();
lang.display();
Smart sm=new WebProgram().new Smart();
sm.display();
}//main() end
}//class end
[ WebProgram 클래스 ]
package oop0321;
//웹페이지를 작성할 때 사용하는 언어
// .jsp .py .php .asp
class WebProgram {
String title="Java Program";
class Language {
String basic="JAVA, HTML, CSS, JavaScript";
void display() {
System.out.println("기초수업:" + basic);
}//end
}//inner class
class Smart {
String basic="Objective-C, Java OOP, C#";
void display() {
System.out.println("기초수업:" + basic);
}//end
}//inner class
void print() {
Language lang=new Language();
lang.display();
Smart sm=new Smart();
sm.display();
}//print() end
}//class end