프로그래밍/JAVA

인터페이스와 추상클래스

개발자 덕구🐾 2022. 8. 29. 17:29
728x90

 

 

 

인터페이스 : 

실제 코드는 만들지 않더라도 어떤 메서드들이 있어야 하는지를 정의하려고 할 때 사용한다. 

 

인터페이스 내부에 선언된 메서드들은 Body가 있으면 안된다. 

 

 

인터페이스를 구현하는 클래스를 만들때는 implements라는 예약어를 사용한다. 

"구현하다"라는 의미이다.  다중 상속은 불가능하지만 다중 구현은 가능하다. 

구현할 경우 인터페이스에 정의된 모든 메서드들의 몸통을 만들어주어야만 한다. 

 

 

 

클래스 

public class MemberManager {

}

 

인터페이스 

public interface MemberManager{

}

 

abstract 클래스 

public abstract class MemberManager {

}

 

 

 

abstract 클래스 

 

몸통이 없는 메소드 선언문에는 abstract라는 예약어를 명시한다. 

implements가 아닌 extends를 사용한다. 

 

 

인터페이스를 사용하다가 어떤 메서드는 미리 만들어 놓아도 문제가 없은데 그렇다고 클래스를 만들기는 애매할 때 사용할 때 abstract 클래스를 사용한다. 

 

 

 

몸통이 있는 메서드와 없는 메서드가 혼용 

 

 

 

반응형