package g_oop2;
public interface SampleInterface {
//인터페이스: 클래스처럼 하나의 데이터 구조, (●'◡'●)
틀만 존재(설계도 느낌), 상수랑 추상메서드로만 구성
(일반 메서드를 가질수 없음/추상 클래스는 일반 메서드도 가질수 있음에 차이가 있다.)
,부모의 역할만(상속받아 내용을 만드는 용도)
//상수란? 변수의 종류로 값을 변경할 수 없는 변수 이다.
고정된 값을 저장하기 위해 상수를 만들어 사용함
//클래스: 구체적인 세부 내용 존재
//인터페이스의 모든 멤버변수를 public static fianl 제어자를 사용해야 한다.
public static final int NUM1 = 1;
// NUM1이 상수 public:접근제어자 static:제어자 final: 상수를 만드는것
(한번 초기화 한 후변수의 값을 변경하지 못함
/변수와 구분하기 위해 전부 대문자로 사용)
//모든 멤버변수의 제어자가 같기 때문에 생략이 가능하다.
int NUM2 = 2;//그냥 변수가 아니라 상수
//인터페이스의 모든 메서드는 public abstract 제어자를 사용해야 한다.
public abstract void method1(); //abstract 추상메서드라는 뜻
//모든 메서드의 제어자가 같기 때문에 생략이 가능하다.
void method2();
}
class SampleImpIment implements SampleInterface,SampleInterface2 {
//인터페이스를 상속 받을 때는 implements 사용
//여러개의 인터페이스를 상속 받을 수 있다.(다중 상속)
@Override
public void method1() {
}
@Override
public void method2() {
}
@Override
public void method3() {
}
}
interface SampleInterface2{
void method1();
void method3();
}