본문 바로가기

다형성2

[Java] 다형성의 이해와 활용 다형성이란 무엇인가? 다형성이란 단어의 의미는 '같은 종이면서 어떤 형태나 형질이 다양하게 나타나는 현상' 을 얘기한다. 이와 비슷한 맥락으로 자바에서의 다형성이란 상위클래스가 동일한 메시지로 하위클래스를 서로 다르게 동작 시키는 의미로 이해하면 된다. 대표적인 예로 인터페이스, 추상클래스, 오버로딩, 오버라이딩, 업캐스팅, 다운캐스팅 등이 모두 다형성에 속해 있다. 다형성의 장점 유지보수가 쉽다. 확장이 용이하다. 다형성의 전제 조건 상속관계(extends)에 있어야 한다. 재정의(Override)가 가능하다. (필수 X) 업캐스팅(Upcasting) 동적바인딩 : 런타임 시점에 메서드가 결정된다. 다형성의 활용(예시) 1. 추상클래스 생성 public abstract class Animal { pub.. 2023. 11. 15.
[Java] 추상클래스(abstract)와 인터페이스(interface) 공통점 * 다형성을 보장하기 위해 등장한 개념 * 추상메서드를 가질 수 있다. * 단독으로 객체를 생성할 수 없다. * 부모의 역할로 사용한다. (Upcasting) 추상클래스 (abstract) 특징 (차이점) : 추상메서드와 구현메서드를 가질 수 있다. 상속(extends)을 받아서 사용한다. 1. 추상클래스 생성하기 public abstract class Person { // 구현메서드 3종 public void walk() { System.out.println("걷는다."); } public void run() { System.out.println("달린다."); } public void sleep() { System.out.println("잠을 잔다."); } // 상속받은 클래스에서 재정의가 .. 2023. 11. 14.