JAVA interface, override, abstract, class (230627)

이원건·2023년 6월 27일
0

JAVA

목록 보기
21/33
post-thumbnail

1.interface 와 class 의 차이는?

  • interface는 추상 메소드와 상수만 멤버로 올 수 있다. class는 모든 변수와 메소드가 올 수 있다.

2. 다음을 프로그램 하시오.[필수] ⭐️

  • 문제
interface Printable { // MS가 정의하고 제공한 인터페이스
	public void print(String doc);
}

	//SPrinterDriver 와 LPrinterDriver를 만드시오
public static void main(String[] args) {
	String myDoc = "This is a report about...";

	// 삼성 프린터로 출력
	Printable prn = new SPrinterDriver();
	prn.print(myDoc);
	System.out.println();

	// LG 프린터로 출력
	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();
 
 		// LG 프린터로 출력
 		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에 올 수 있는 두 가지는?

  • method, 상수(final)

5. abstract 키워드에 대하여 설명하시오.

  • method에 선언부만 있고 실행부가 없다는 것을 알려준다. interface안에 method 작성 시에는 컴파일러가 자동으로 method 앞에 abstract를 붙여서 컴파일한다.

0개의 댓글