Overriding (오버라이딩)

태그
Java
날짜
2023/11/13
2 more properties

메소드 오버라이딩

상위 클래스의 메소드를 재정의하는 것
example
public interface Movable { void move(); } public class Car implements Movable { @Override public void move() { System.out.println("도로로 달립니다."); } } public class Airplane implements Movable { @Override public void move() { System.out.println("하늘을 납니다."); } } public class Train implements Movable { @Override public void move() { System.out.println("선로로 주행합니다."); } } public class Main { public static void main(String[] args) { final List<Movable> movables = Arrays.asList(new Car(), new Train(), new Airplane()); for (final Movable movable : movables) { movable.move(); } } } // result 도로를 달립니다. 하늘을 납니다. 선로로 주행합니다.
Java
복사
Movable 이라는 인터페이스에서 move()라는 메소드 선언 후 각각의 Car, Train, Airplane 자식 클래스에서 move()메소드를 재정의.
main메소드에서 Movable클래스가 자식 클래스를 참조하여 선언하여 재정의된 move()메소드를 사용.