업캐스팅

국비 지원/JAVA

[JAVA] 인터페이스 (+ 다운 캐스팅)

인터페이스 인터페이스란 실제 메소드를 정의하고 구현하는 것이 아니라 메소드의 헤더 부분(시그니처)만 선언하며, 이 메소드를 실제 정의하는 클래스에서 메소드 본체를 완성하는 것을 말한다. 개발 코드와 객체가 서로 통신하는 접점 역할을 하는데 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킨다. 여기서 개발 코드가 직접 객체의 메소드를 호출하면 되는데 왜 중간에 인터페이스를 두는 것인지 의문이 생길 수도 있다. 그 이유는 개발 코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위해 인터페이스를 사용하는 것이라고 할 수 있다. 즉, 코드 변경 없이 실행 내용과 리턴 값을 다양화할 수 있다는 장점을 가지게 된다는 것이다. 인터페이스는 상수 필드와 추상 메소드만을 구성 멤..

국비 지원/JAVA

[JAVA] abstract 추상 클래스와 추상 메소드 (+ 업캐스팅)

사전적 의미로 추상은 실체 간에 공통되는 특성을 추출한 것을 말한다. 추상 클래스 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상 클래스라고 한다. 즉, abstract 키워드가 붙는 클래스는 객체로 인스턴스를 생성할 수 없다는 뜻이다. 그리고 실체 클래스와 추상 클래스는 상속 관계를 가지고 있다. 이러한 추상 클래스의 예로 동물을 들 수 있다. 동물 클래스는 현실 세계에 실체가 없으므로 abstract를 사용한 추상 클래스라고 할 수 있고, 실제로 존재하는 물고기, 새 등이 실체 클래스라고 할 수 있다. public abstract class AbstractCalc { int add(int x, int y) { return x+y..

아민_
'업캐스팅' 태그의 글 목록