딱콩이의 봄

인터페이스(Interface) 본문

개발/JAVA

인터페이스(Interface)

코린이딱콩 2022. 8. 30. 18:09

✔️인터페이스는 일반적으로 추상 메서드만 가지며 interface 키워드를 이용해 정의합니다.

✔️특정 클래스가 인터페이스를 구현하기 위해서는 implements 키워드를 통해 구현합니다.

✔️상속과 달리 인터페이스는 하나의 클래스가 둘 이상의 인터페이스를 동시해 구현할 수 있습니다.(다중 상속이 가능합니다.(

✔️인터페이스를 통해 설계와 구현을 완전히 분리할 수 있습니다.

✔️함수의 껍데기만 있으며, 그 함수의 구현을 강제하기 위해 사용됩니다.

public interface IBehavior {
	
    public abstract void play(); //public abstract 생략가능
  }
  
  
  
  
  
  public class Soccer extends Sport implements IBehavior {
  
  	@Override
    public void play(){
    	System.out.println("Playing Soccer");
        
     }
   }

✔️인터페이스에는 상수, 추상메소드, static메소드,default 메소드를 정의할 수 있습니다.

✔️인터페이스에 정의하는 모든 필드는 pubilc static final이 자동으로 적용됩니다.

✔️java 8 부터 인터페이스에 static 메소드를 추가할 수 있으며 static 메소드의 사용은 일반클래스와 동일합니다.

✔️java 8 부터 default 메소드가 추가되었으며 이 메소드는 그 자체로 완전한 메소드이며 구현 클래스는 선택적으로 재정의 할 수 있습니다.

public interface MyInterface{

	public static final String MESSAGE = "User define constant"; //public static final 생략가능
    
    default void defaultMethod() {
    	System.out.println("Default Method");
        }
    public static void staticMethod() {//public	생략가능
    	System.out.println("Static Method");
      }
    }

 

🧐Reference

https://youtu.be/teABcIl_GBM

'개발 > JAVA' 카테고리의 다른 글

인터페이스의 활용  (0) 2022.08.30
추상클래스(abstract class)  (0) 2022.08.30
다형성(polymorphism)  (0) 2022.08.30
객체간 타입 형변환💡💡  (0) 2022.08.30
객체간 타입 형변환💡  (0) 2022.08.30
Comments