interface class Brain {
int id;
public void printBluff();
public String readAImind();
}
이렇게 짜는거 아니었냐?
Brain 클래스를 확장하는 모든 클래스에 무조건 int변수하나와 이 메소드 두개가 있게 하려는데
그럼 인터페이스 아니고 abstract쓰는거임?
인터페이스는 멤버변수를 가질수 없으므로, 추상클래스로 선언하여 상속받는 모든클래스에서 사용할 수 있는 변수와 주요기능을 정의해야된 추상 메소드를 선언할 수 있음
인터페이스는 님이 무슨 메소드를 정의할지 일종의 힌트 개념으로 잡아준다고 생각하면 됨
pulibc abstract class Brain { protected int id; abstract public void printBluff(); abstract public String readAImind(); }
인터페이스가 멤버변수를 가질수 없다는게 undeclared variable만 말하는거야?
인터페이스는 말 그대로 객체간에 필요한 연산자들에 대한 개념을 잡아두고 주요 객체를 설계하는 용도로 사용되지만, 세부적으로 인터셉터, 혹은 프록시 같은 기능을 구현하고자 할때 필요한 클래스라고봐도됨
인터페이스에 필드를 만드려면 값을 입력해줘야해 - dc App
진짜네
인터페이스 맴버 변수 못가지는거 옛말 아님? - dc App