인터페이스 2

다형성 (2) - 추상클래스, 인터페이스

다형성 활용이전 파트에서 이해하지 못했던 다형적 참조를 어떤경우에 사용하는지 알 수 있다.동물의 울음소리 문제로, 다형성을 사용하지 않은 코드이다.package poly.ex1;public class AnimalSoundMain { public static void main(String[] args) { Dog dog = new Dog(); Cat cat = new Cat(); Cow cow = new Cow(); System.out.println("동물 소리 테스트 시작"); dog.sound(); System.out.println("동물 소리 테스트 종료"); System.out.println("동물 소리 테..

Java 2024.06.12

인터페이스

인터페이스 (Interface) 란 인터페이스에는 abstract로 정의된 추상메서드나 일반메서드가 포함된다. 추상클래스처럼 프로퍼티를 통해 상태를 저장할 수 없고 선언만 가능하다. 인터페이스도 마찬가지로 객체를 생성할 수 없고 하위 클래스를 통해 구현 및 생성해야한다. 인터페이스를 사용하는 이유? 추상클래스를 사용할 때의 제한을 생각해보자. 하위클래스는 상속을 하나만 허용한다는 단점이 있다. 또한 상위클래스와 하위클래스의 강한 연관이 생기면서 상위클래스의 영향을 그대로 받게된다. 그래서 상위클래스가 수정되었을 때 하위 클래스를 일일이 확인하기 어려운 경우 부작용이 발생할 수 있는것이다. 인터페이스는 클래스가 아니다. 그래서 상속의 개념이 아닌 구현의 개념이라 구현클래스 (하위클래스)와 강한 연관을 가지..

Kotlin 2023.12.25