오늘은 이것이 자바다 8장(인터페이스) 부분을 절반 정도 공부 후, notion 정리 하였다.
Java 세미나를 진행하며 공부를 하면서 참 내가 모르는 것이 너무 많고 공부를 여태 대충 했다는 걸 점점 더 느끼는중이다.
우선, 인터페이스가 실행되는 구조는 개발 코드가 인터페이스의 메소드를 호출하면, 인터페이스의 메소드는 객체의 메소드를 호출시키는 구조이다. 따라서 개발 코드는 객체의 내부 구조는 알 필요가 없고 인터페이스의 메소드만 알고 있으면 된다.
인터페이스를 사용하면 개발 코드를 수정하지 않고, 사용하는 객체를 변경하여 실행 내용과 리턴값을 다양화하여 객체지향 프로그래밍의 특징 다형성을 이용할 수 있다.
인터페이스안의 메소드와 필드는 4가지 종류로 이루어진다는 것도 처음 알았다.
인터페이스는 상수 필드, 추상 메소드, 디폴트 메소드, 정적 메소드로 이루어져 있다. 인터페이스는 원래 런타임 시 데이터를 저장할 수 있는 필드나 메소드를 선언할 수 없다고 한다. 하지만 상수는 인터페이스에 고정된 값으로, 런타임 시에 데이터를 바꿀수 없기에 선언이 가능하다고 한다.