Java 기초 수업

<Java> 인터페이스

잼추 2022. 11. 1. 21:13
/*인터페이스
 * 1. 기본적으로 모든 메소드가 추상 메소드로 정의된다.
 * 2. 일반 메소드를 정의하기 위해서는 default 키워드를 사용하여야 한다
 * 3. 생성자 정의는 불가능하다.
 * 4. 변수 선언이 불가능하다
 * 5. 상수는 선언할 수 있다.(접근지정자 public 사용)
public interface Power {
    public void on();
    public void off();
}
public class Computer implements Power{
    @Override
    public void on() {
        System.out.println("컴퓨터의 전원을 켭니다");

    }

    @Override
    public void off() {
        System.out.println("컴퓨터의 전원을 끕니다");

    }
}

 

 

같은 인터페이스를 가진 객체들은 해당 인터페이스로 Upcasting  될 수 있다.

 

public class Main {
    public static void main(String[] args) {
        Computer computer = new Computer();
        LED led =  new LED();
        Speaker speaker = new Speaker();

        centralControl centralControl = new centralControl(computer, led, speaker);

 

각 객체의 자료형은 Computer, LED, Speaker이지만 해당 클래스는 Power라는 공통 인터페이스를 갖고 있어서

power를 받고 있는 centralControl에 변수로 들어갈 수 있다

'Java 기초 수업' 카테고리의 다른 글

<Java> static  (0) 2022.11.03
<Java> Entity Class, Service Class, required constructor  (0) 2022.11.03
<Java> 추상화, 추상클래스  (0) 2022.10.31
<Java> 접근지정자와 캡슐화  (0) 2022.10.27
<java> class  (0) 2022.10.26