5주차 미션은 클래스를 선언할 때 인터페이스는 어떻게 선언될 수 있는지 정리하기!
개발 코드와 객체가 서로 통신하는 접점 역할을 합니다.
개발 코드 → 인터페이스의 메소드 호출 → 인터페이스는 객체의 메소드 호출
여기서 왜 인터페이스를 사용할까? 개발코드에서 바로 객체에 메소드를 호출하면 되지 않을까? 하는 의문이 생깁니다. 그이유는 바로...
개발코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위해서 입니다.
인터페이스는 여러개의 객체들과 사용되기 때문에 어떤 객체를 사용하냐에 따라 실행 내용과 리턴값이 다를 수 있습니다. 따라서 코드 변경 없이도 실행 내용과 리턴값을 다양화 할 수 있다는 장점이 있습니다.
인터페이스는 '~.java' 형태의 소스 파일로 작성됩니다. 이후 컴파일러(javac)를 통해 '~.class'로 컴파일 됩니다. (클래스와 형태가 비슷합니다.)
선언 방법은 class 대신에 interface 키워드를 사용합니다.
[public] interface 인터페이스 이름{...}
클래스 이름을 작성하는 것과 방법이 같습니다.
인터페이스는 상수 필드와 추상 메소드만을 구성 멤버로 가집니다.
(또한 객체를 생성 할 수 없기 때문에 생성자를 가질 수 없습니다.)
상수란?
인터페이스에 고정된 값을 말합니다. 실행 시에 데이터를 바꿀 수 없습니다.
상수는 모두 public static final로 선언하기 때문에 굳이 붙이지 않아도 됩니다.
[public static final] 타입 상수이름 = 값;
상수 이름은 대문자로 작성합니다.
서로 다른 단어로 구성되었을 시에는 _(언더바)로 연결하는 것이 관례입니다.
ex) int MAX_VOLUME = 11;
인터페이스는 데이터를 저장 할 수 없기 때문에 상수 필드만 선언할 수 있습니다.
5주차도 쉽지 않았습니다..(헉헉) 그래도 하고나니 뿌뜻✨
점점 새로운 미지의 자바로 들어가는 느낌이 들지만 마지막 주차도 열심히 해보겠습니다✌️😊