static
![[JAVA-basic] default 메소드와 static 메소드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDMlCT%2FbtreKIMadOn%2FOaLankImyBKkkcIH3Kqik0%2Fimg.png)
[JAVA-basic] default 메소드와 static 메소드
인터페이스에는 원래 추상메소드만 선언할 수 있었다. JDK1.8 부터 디폴트 메소드와 static메소드도 추가할 수 있게 되었다. static메소드는 인스턴스와 관계가 없는 독립적인 메소드이기 때문에 예전부터 인터페이스에 추가하지 못할 이유가 없었다. 그러나 규칙을 단순히 할 필요가 있어서 인터페이스의 모든 메소드는 추상 메소드이어야 한다는 규칙에 예외를 두지 않았다. 그래서 인터페이스와 관련된 static메소드는 별도의 클래스에 따로 두어야 했다. 디폴트 메소드 조상 클래스에 새로운 메소드를 추가하는 것은 별 일 아니지만, 인터페이스의 경우에는 매우 큰일이다. 인터페이스에 메소드를 추가한다는 것은 추상메소드를 추가한다는 것이고, 이 인터페이스를 구현한 기존의 모든 클래스들이 새로 추가된 메소드를 구현해..