- 다형성(Polymorphism)
부모 객체의 변수로 부모 객체를 상속 받는 자식 클래스의 인스턴스를 정의하는 것. 예를 들면, 직업이 부모 클래스. 직업이라는 부모 클래스를 상속받고 있는 것이 전사, 마법사, 도적 등의 클래스라고 하자. 이 때 우리는 Job job = new Wizard(); 혹은 Job job = new Warrior(); 등과 같이 부모 클래스 변수를 다양한 모습으로 정의할 수 있음. 이는 사용자 입력에 따라 부모 객체의 변수를 부모 클래스를 상속 받는 클래스 중 하나로 선정하는 것과 같이 사용이 가능

- Object 클래스
모든 클래스의 조상 클래스 격. 명시적으로 상속받지 않더라도 언어 내부에서 모든 클래스는 이 Object 클래스를 암시적으로 상속 받고 있음. 다형성의 성질 때문에 Object 클래스는 다른 클래스의 인스턴스로 변환이 가능한 것이 특징​




-> equlas 메소드의 매개변수로 Object 클래스를 받고 이를 Archer형태의 인스턴스로 변환 후, temp라는 Archer클래스의 인스턴스로 정의. 이 같은 변환이 가능한 이유는 Object 클래스가 Archer 클래스의 부모 클래스 중 하나이기 때문에 다형성의 적용이 가능한 것!


'Software Convergence > Java' 카테고리의 다른 글

static과 접근제한자  (0) 2018.10.19
상속의 단점과 Strategy Pattern  (0) 2018.09.03
Generic 자료형 실습  (0) 2018.07.12
instanceof / encapsulation  (0) 2018.07.04
추상클래스와 인터페이스 / final  (0) 2018.07.02

+ Recent posts