다른 클래스 안에 내포된 클래스
어떤 클래스를 해당 클래스에서만 사용하기 위해
class Outer {
변수;
메소드;
public static class Inner {
}
}
Outer.Inner 객체 = new Outer.Inner();
class Outer {
변수;
메소드;
public class Inner {
}
}
Outer out객체 = new Outer();
Outer.Inner inn객체 = new out객체.new Inner();
class Outer {
public void method() {
final int x = 10; // int x =10; 이라도 중간에 값 변경만 없으면 됨
class Local {
public void method() {
System.out.println(x);
}
}
}
}
interface Student {
public void getInfo();
}
public class Test {
public static void main(String[] args) {
Student student = new Student() {
public void getInfo() {
System.out.println("anonymous class");
}
};
student.getInfo();
}
}
객체의 직렬화는 인스턴스 안에 들어있는 변수를 byte로 변환하는 것 파일이나 네트워크에 보내기 위해
자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술이다
Inner Class에는 사용해선 안된다.