diff --git "a/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/Child.java" "b/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/Child.java" new file mode 100644 index 0000000..cb0f055 --- /dev/null +++ "b/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/Child.java" @@ -0,0 +1,7 @@ +package poly.basic; + +public class Child extends Parent { + public void childMethod() { + System.out.println("Child.childMethod"); + } +} diff --git "a/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/Parent.java" "b/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/Parent.java" new file mode 100644 index 0000000..12fc6f5 --- /dev/null +++ "b/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/Parent.java" @@ -0,0 +1,7 @@ +package poly.basic; + +public class Parent { + public void parentMethod() { + System.out.println("Parent.parentMethod"); + } +} diff --git "a/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/PolyMain.java" "b/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/PolyMain.java" new file mode 100644 index 0000000..4163b14 --- /dev/null +++ "b/\352\271\200\354\225\204\353\246\260/java-basic/src/poly/basic/PolyMain.java" @@ -0,0 +1,29 @@ +package poly.basic; + +public class PolyMain { + public static void main(String[] args) { + // 부모 변수가 부모 인스턴스 참조 + System.out.println("Parent -> Parent"); + Parent parent = new Parent(); + parent.parentMethod(); + + // 자식 변수가 자식 인스턴스 참조 + System.out.println("Child -> Child"); + Child child = new Child(); + child.parentMethod(); + child.childMethod(); + + // 부모 변수가 자식 인스턴스 참조 (다형적 참조) + System.out.println("Parent -> Child"); + Parent poly = new Child(); + // 부모 타입은 자식을 참조할 수 있다 + poly.parentMethod(); + + // 자식은 부모를 담을 수 없다 +// Child child1 = new Parent(); + // 자식의 기능은 호출할 수 없다 -> 컴파일 오류 발생 +// poly.childMethod(); + + + } +}