다형성 (2) 썸네일형 리스트형 12. 인터페이스(interface) 1. 인터페이스 인터페이스란? 추상 클래스(abstract class)와 마찬가지로 추상화된 데이터나 동작을 정의하는데 사용되는 중요한 개념 1. 모든 메서드가 추상 메서드로 선언됨 -> public abstract 2. 모든 변수는 상수로 선언됨 -> public static final 3. 자바 8부터 디폴트 메서드와 정적 메서드 기능 제공으로 일부 구현 코드가 있다. 인터페이스 구현 쩜쩜쩜 화살표는 구현이라는 뜻 오른쪽처럼 구현하면 implements를 사용해줘야함 // implements 키워드 // java에서 implements 키워드는 인터페이스를 구현할 때 사용, 클래스나 추상 클래스는 extends 키워드를 이용하여 상속받지만, 인터페이스는 implement 키워드를 이용하여 구현 즉, .. 10. 메서드 재정의(overring), 다형성, 다운 캐스팅 및 instanceof 1. 메서드 재정의 하기(overring) 하위 클래스에서 메서드 재정의 하기(오버라이딩) 상위 클래스에서 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있음(오버라이딩시 반환값, 메서드 이름, 매개 변수 타입 및 개수 모두 같아야함) ex) VIPCustomer 클래스의 calcPrice()는 할인율이 적용되지 않는다 가정하고 재정의한다면 (vscode를 사용한다면 오른쪽 키 -> 소스 작업으로 쉽게 만들 수 있다) 위는 소스 작업으로 오버라이딩 코드를 구현한 것이고 이를 구체화한다면 이렇게 오버라이딩하면 된다. 근데 @Override 가 뭘까?? // 애노테이션 // @Override 이게 애노테이션 1. 애노테이션은 .. 이전 1 다음