추상클래스 2

[Java] 인터페이스(interface)

추상클래스를 고도화시킨 문법이며, 반드시 추상메소드와 상수만 선언해야한다. 다른 클래스에서 인터페이스를 지정받을 때에는 implements를 사용한다. 지정받은 클래스는 인터페이스가 갖고있는 추상 메소드들을 반드시 재정의 해야한다. interface 인터페이스명{ 상수 추상메소드 default 메소드 } jdk8 버전 이후부터는 인터페이스에 default 메소드를 선언할 수 있다. 따라서 사실상의 다중상속을 지원하게 된다. 인터페이스 끼리나 다른 클래스와의 메소드 모호성이 발생한다면(이름 중복) 지정, 상속받은 클래스에서 명시적으로 작성(재정의)해 주어 모호성을 해결해줘야한다. public class D extends C implements A, B { @Override public void f() { ..

Back-End/JAVA 2021.05.27

[Java] 추상 클래스(abstract)

1) 추상 클래스(불완전한 클래스) 추상적인 내용만 정의하고 있는 클래스로 구체적인 내용은 상속받은 하위 클래스에서 구현되도록 설계된 클래스이다. 추상 클래스(부모)는 클래스들(자식)의 공통 요소들을 가상화시켜놓기 때문에 객체화시 구현(재정의)을 꼭 해줘야한다. 부모 추상 클래스의 역할은 단지 자식 클래스를 만들 때 도와주는 역할을 수행한다. 그렇기 때문에 자식 클래스에서 선언할 메소드의 이름과 형태만 가지고 있다. 즉, 메소드에 { } (바디)가 없다. 이런 메소드를 추상 메소드라고 하며, 리턴타입 앞에 abstract 라는 키워드가 붙는다. 추상 메소드가 클래스 내에 한 개라도 포함되어있다면 추상 클래스로 선언해야 한다. 2) 추상 클래스 선언 abstract class 클래스명{ 리턴타입 일반메소드..

Back-End/JAVA 2021.05.27
반응형