이 글은 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 |