본 글은 본인 대학교와 비트교육센터가 진행한 SW몰입형 수업에서
실습한 내용을 중심으로 작성한 글입니다.
SW 몰입형 수업 #6.
Inner Class의 개념을 공부하고
이를 토대로 예제 코드를 작성함
1. Member Inner Class
public class InnerExam {
// 접근제한자 실습
private int a;
protected int b;
public int c;
public static int d;
// member inner class
class A{
// 각각의 변수를 출력하는 메소드
public void disp() {
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
public static void main(String[] args) {
InnerExam in = new InnerExam();
InnerExam.A aa = in.new A();
aa.disp();
}
}
2. Static Inner Class
public class InnerExam {
private int a;
protected int b;
public int c;
public static int d;
static class A{ //static inner class
public void disp() {
System.out.println(d); //같은 성질을 가진 static만 접근 가능
}
}
public static void main(String[] args) {
InnerExam in = new InnerExam();
InnerExam.A aa = in.new A();
aa.disp();
}
}
3. Local Inner Class
public class InnerExam {
private int a;
protected int b;
public int c;
public static int d;
public void output() {
class A{ //local inner class
public void disp() {
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
A aa = new A();
aa.disp();
}
public static void main(String[] args) {
InnerExam in = new InnerExam();
in.output();
}
}
4. Anonymous Inner Class
abstract class Test{
abstract void tt();
}
public class InnerExam {
private int a;
protected int b;
public int c;
public static int d;
public void output() {
Test t = new Test() { // anonymous inner class
@Override
void tt() {
System.out.println("tt");
}
};
t.tt();
}
public static void main(String[] args) {
InnerExam in = new InnerExam();
in.output();
}
}'코딩테스트 > 프로그래밍 예제 풀이' 카테고리의 다른 글
| [Java] 스택, 큐 프로그램 (동적바인딩 사용) (0) | 2023.07.23 |
|---|---|
| [Java] 학생 성적 처리 프로그램 (다수 클래스 이용) (0) | 2023.07.23 |
| [Java] 별 모양 문제 (0) | 2023.07.23 |
| [Java] 반복문 예제 풀이 (2문제) (0) | 2023.07.22 |
| [Java] 사칙연산 계산기 - 반복문 사용 (do-while) (0) | 2023.07.22 |