JAVA/JAVA Note

interface, 다형성

hoonssss 2023. 8. 16. 13:11
반응형
SMALL
package 생활코딩;

interface Calculable{
    double PI = 3.14;
    int sum(int v1, int v2);
}
interface Printable{
    void print();
}
class RealCal implements Calculable, Printable{
    public int sum(int v1, int v2) {
        return v1 + v2;
    }
    public void print(){
        System.out.println("This is RealCar");
    }
}
public class InterfaceApp {

    public static void main(String[] args) {
        RealCal c = new RealCal();
        c.print(); // This is RealCar
        System.out.println(c.sum(1,2)); // 3
        System.out.println(c.PI); // 3.14
    }
}

인터페이스는 약속, 규정임

interface Calculable{

int sum(int v1, int v2);

}

했기 때문에 다른 클래스들은

class RealCar implments Calculable{

public int sum(int v1, int v2) {

return v1+v2;

      }

}

public class InterfaceApp {

    public static void main(String[] args) {
        RealCal c = new RealCal();
        c.print(); // This is RealCar
        System.out.println(c.sum(1,2)); // 3
        System.out.println(c.PI); // 3.14
    }
}

RealCar c = new RealCal();

Calculable c = new ReaclCarl(); -> sum과 PI만 작동, print는 X

Printable c = new ReaclCarl(); -> sum과 PI X, c.print만 작동

반응형
LIST

'JAVA > JAVA Note' 카테고리의 다른 글

if, else if, else, 줄  (0) 2023.08.16
다형성, 접근제어자, final, abstrack  (0) 2023.08.16
예외처리  (0) 2023.08.16
try catch finally / try with resource statements  (0) 2023.08.16
indexOf, lastindexOf  (0) 2023.08.16