JAVA 31일차

이희복·2023년 2월 9일
0

JAVA

목록 보기
14/41

아래가 돌아 가도록 하시오

interface ICalculator{
public abstract int add(int num,int num2);
public abstract int sub(int num,int num2);
public abstract int mul(int num,int num2);
int div(int num,int num2);
}

class PrintableInterface {
public static void main(String[] args) {
ICalculator calculator = new MyCalculator();
System.out.println(calculator.add(10, 20)); //30
System.out.println(calculator.sub(10, 20)); //-10

	//Printable prn = new Printer();
    //prn.print("Hello Java");
}

}

아래가 돌아 가도록 하시오.

interface Printable {
public abstract void print(String doc) ;
}
main(){
Printable prn = new Printer();
prn.print("Hello Java");
}

애너테이션이란?

  1. 컴파일러에게 알려주는 역할
  2. 애너테이션 넣든, 안 넣든 프로그램에는 기본적으로 영향을 주지 못함
  3. 1.5버전부터 지원
  4. 애너테이션 자체가 하나의 기능(함수역할을 함) 역할
  5. 개발자가 부모에 있는 함수(똑같은 이름이 있는)들을 체크해서 없으면 컴파일 에러를 발생

아래의 연산과정에서 호출되는 함수(원리)를 써서 표현해 보세요.

String str = "age: " + 17;

  • public String(String original) {
    this.value = original.value;
    this.coder = original.coder;
    this.hash = original.hash;
    }

String 앞에 public이 생략되어 있으며 Stirng은 "age", 17은 original을 나타낸다.

Object 클래스에 대하여 설명하시오.

  • 공통적으로 쓰일만한 함수(11개) 부모올림
  • 쓰레드 관련 5개 빼고, 3개 - toString, hashCode, equals

아래와 같이 출력되는 이유를 설명하시오.

class A{

}

public class Test {
public static void main(String[] args) {
A a = new A();
System.out.println(a); // a의 주소 뿌림
}
}

기본적으로 모든 클래스는 Object 클래스를 상속하기 때문에 class A는 Object 클래스를 상속한다.

2) Object 클래스에는 문자열을 반환하는 toString함수가 있다. 하지만 class A에는 toStirng함수가 override되어있지 않아서 a가 가리키는 객체의 주소값(가짜)을 출력하게 된다.

interface 에 대하여 설명하시오.

  • 상수와 + abstract(추상) 함수 (바디가 없는)
  • 자손이 구현하라
  • interface = 표준 = 강제 = 외주 = 드라이버

0개의 댓글