package java0914_inner; class OuterLocal { private int x; static int y; final private int z = 10; public void call(int a) { final int b = 20; int c = 30; // a = 200; // System.out.println("a=" + a); // í´ëì¤ì ë©ìë ë´ì ì ìë í´ëì¤ë¥¼ local í´ëì¤, ì§ì í´ëì¤ë¼ê³ íë¤. class InnerLocal { void prn() { x = 5; y = 150; // outerí´ëì¤ì ë©ìëì ì ìë 매ê°ë³ì, ì§ìë³ì를 ì§ì ë´ë¶í´ëì¤ìì ìë¡ì´ ê°ì í ë¹í ì ìë¤. // a = 30; // c = 40; // ë´ë¶í´ëì¤ììë ì¸ë¶í´ëì¤ì ë©ìëì ì ìë 매ê°ë³ìë ì§ìë³ìì ê°ì ë³ê²½í ì ìë¤. (í¸ì¶ì´ë 참조ë ê°ë¥) System.out.println("x=" + x); System.out.println("y=" + y); System.out.println("z=" + z); System.out.println("a=" + a); // ë²ì ì ë°ì´í¸ ì´í ë©ìëì ìë 매ê°ë³ìì final í¤ìëê° ë¶ì§ ììë ì¬ì©ì´ ê°ë¥íë¤. System.out.println("b=" + b); System.out.println("c=" + c); } } // ì§ì í´ëì¤ë¥¼ ì¬ì©í기 ìí´ìë ê°ì²´ìì±ì í´ì¼íë¤. InnerLocal inner = new InnerLocal(); inner.prn(); } } public class Java204_inner { public static void main(String[] args) { OuterLocal outer = new OuterLocal(); outer.call(100); } }