innerclass μμλ κΈ°λ³Έμ μΌλ‘ Inner Class λ₯Ό ν¬ν¨νκ³ μλ μμν΄λμ€μ λ νΌλ°μ€κ° μμ±μλ‘ λ€μ΄κ°λ€. λ§μΉ C++ μμ λ©μλλ€μ λν΄ this κ° κΈ°λ³Έ νλΌλ©ν°λ‘ λμ΄κ°λ κ²κ³Ό κ°μ μ΄μΉλκΉ.
~cpp import java.lang.reflect.Constructor; public class InnerConstructorTest { public static void main(String[] args) { try { Class outerClass = Class.forName("Outer"); Object outer = outerClass.newInstance(); Class innerClass = Class.forName("Outer$Inner"); Class[] consParamClasses = new Class[]{outerClass}; Constructor innerCons = innerClass.getDeclaredConstructor(consParamClasses); Object[] consParams = new Object[]{outer}; Object inner = innerCons.newInstance(consParams); System.out.println(inner.toString()); } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); } } } class Outer { int y = 3; class Inner { public String toString() { return "" + y; } } }