2/1 인터페이스

이 글은 2019년 홍익대학교 자바 겨울 특강 수업을 메모한 것이다.

당시에는 에버노트에 메모해놨었기 때문에,

티스토리 블로그를 시작하면서 백업해둔다.


 

다중상속을 가능하게 해주는 꼼수 느낌
 

package chapter7;
//인터페이스
//1. 자바는 다중상속이 안된다
//2. 다중상속이 필요한 경우의 대안으로 인터페이스를 사용한다
//3. 실제 객채 모델링 클래스가 아니다. 따라서
//4. 상수와 추상메소드만 정의한다. (static, abstract)
//5. 일반 변수, 메소드 선언이 안된다.
//6. 객체생성이 불가능하다.
//
//사용
//1. 인터페이스 선언(interface)
//2. 인터페이스 구현(implements)
//3. 하나의 클래스에 인터페이스 여러개 사용가능
//4. 인터페이스 간의 상속 가능
//5. 상속된 인터페이스를 구현한 클래스에선 메소드를 모두 정의한다.
interface speed_go {
    public static int speed = 1;
    abstract void go();
}
interface wheel_stop {
    public static int wheel = 4;
    abstract void stop();
}
class car implements speed_go, wheel_stop {
    car() {
        
    }
    
    @Override
    public void go() {
        System.out.println("interface speed_go");
        System.out.println("속도 : " + speed_go.speed + " 만큼 달려");
    }
    
    @Override
    public void stop() {
        System.out.println("interface wheel_stop");
        System.out.println("바쿠의 수가" + wheel_stop.wheel);
    }
}
public class oop_interface {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        car mycar = new car();
        mycar.go();
        System.out.println();
        mycar.stop();
    }
}
//추상클래스와 인터페이스 차이
//추상클래스
//-abstract class
//-멤버 메소드, 상수 일반메소드, 추상메소드 모두 정의가능
//-extends로 상속
//단일상속
//
//인터페이스
//-interface(클래스x)
//-상수, 추상메소드만 정의ㅣ가능
//-implements로 구현
//-다중상속

'┝ 개발 언어 > ┎ JAVA' 카테고리의 다른 글

2020/07/13(1) 자바프로그램의 설치 및 환경설정 / 이클립스  (0) 2022.03.01
2/1 파이널  (0) 2022.03.01
2/1 추상클래스  (0) 2022.03.01
1/28 super  (0) 2022.03.01
1/28 오버라이딩  (0) 2022.03.01