1.interface 와 class 의 차이는?
- interface는 추상 메소드와 상수만 멤버로 올 수 있다. class는 모든 변수와 메소드가 올 수 있다.
2. 다음을 프로그램 하시오.[필수] ⭐️
interface Printable {
public void print(String doc);
}
public static void main(String[] args) {
String myDoc = "This is a report about...";
Printable prn = new SPrinterDriver();
prn.print(myDoc);
System.out.println();
prn = new LPrinterDriver();
prn.print(myDoc);
}
출력:
From Samsung printer
This is a report about ...
From LG printer
This is a report about ...
interface Printable{
public void print(String doc);
}
class SPrinterDriver implements Printable{
@Override
public void print(String doc) {
System.out.println( "From Samsung printer");
System.out.println(doc);
}
}
class LPrinterDriver implements Printable{
@Override
public void print(String doc) {
System.out.println( "From LG printer");
System.out.println(doc);
}
}
public class PrintableMain {
public static void main(String[] args) {
String myDoc = "This is a report about...";
Printable prn = new SPrinterDriver();
prn.print(myDoc);
System.out.println();
prn = new LPrinterDriver();
prn.print(myDoc);
}
}
From Samsung printer
This is a report about...
From LG printer
This is a report about...
3. @Override 에 대하여 설명하시오.
- 오버라이드 된 메소드 위에 적어주므로써 오버라이드 된 사실을 컴파일러에게 메타정보로 알려주는 역할. 보기에도 오버라이드 됐다는 게 보이기 때문에 써두는 것이 좋다.
4. interface에 올 수 있는 두 가지는?
5. abstract 키워드에 대하여 설명하시오.
- method에 선언부만 있고 실행부가 없다는 것을 알려준다. interface안에 method 작성 시에는 컴파일러가 자동으로 method 앞에 abstract를 붙여서 컴파일한다.