8버전 이상부터 인터페이스에 접근제어자가 default, private로 명시적으로 선언하면 static을 안하고도 메소드를 선언 가능한거로 아는데

이게 이유가 뭔가요...? 이해를 잘못한건지 굳이? 라는 생각밖에 안들어서


default void fun() { /* 내용 */ } 로 메소드를 만들었다는건 객체(클래스)에 메소드를 만들었다는건데

어차피 클래스변수를 선언 못하는 인터페이스에서 그게 그렇게 큰 의미인가 싶네요

인터페이스에서 스태틱 메소드를 호출하나, 상속을 받아서 호출을 하나 큰 차이가 없어보이는데


쓰다가 생각난건데

스태틱 메소드로 만들면 계속 메모리를 잡고있고,

일반 메소드로 만들면 클래스의 생명주기를 따라가는 그 차이인가요...?