인터페이스

9mond·2023년 7월 11일
0
post-thumbnail
post-custom-banner

1. 추상 클래스의 한계

  • 자바 클래스 간에 상속에서 하나의 부모만 존재할 수 있기 때문에, 앞의 상황에서 요구하는 다중 상속의 구현은 불가능 하다.

2. Interface란?

  • 완벽한 추상화를 구현하기 위한 Java Class의 한 종류

  • 다중 상속이 가능하기 때문에 용도별로 세분화 하여 필요한 요소만 상속할 수 있다.

  • 추상 클래스
    -> 멤버변수, 생성자, 메서드, 추상 메서드를 포함할 수 있다.
    -> 이 클래스를 상속받은 자식 클래스는 다른 클래스를 상속받을 수 없다.
    -> 객체의 생성이 불가능하다.

    	public interface Unit {
    		// 기본적으로 인터페이스에 추가되는 모든 메서드는 추상 메서드이기 때문에,
    		// abstract 키워드를 명시할 필요가 없다.
    		public void attack();
    		public void shield();
    		}
  • 인터페이스
    -> 추상 메서드만 포함할 수 있다.
    -> 인터페이스는 다중 상속이 가능하다.
    -> 객체의 생성이 불가능하다.

    	
    	// 인터페이스 상속을 위한 implements
    	- 인터페이스 상속은 implements 키워드를 사용한다.
    	- 인터페이스도 추상화를 구현하고 있기 때문에,
         인터페이스를 상속받는 클래스는 인터페이스 내의 모든 메서드들을 반드시 재정의 해야 한다.
    		- 인터페이스는 콤마(,)로 연결하여 여러 개를 동시에 상속 받을 수 있다.
    	- 필요한 경우 다른 클래스와 동시에 상속 받을 수 있다.(implements, extends)
    
    		public class User implements Unit{
    
    			@Override
    			public void attack() {
    			}
    			@Override
    			public void shield() {
    			}
    		}
profile
개발자
post-custom-banner

0개의 댓글