티스토리 뷰
abstract class A{ final int ONE = 1; // final : 심볼릭 상수 -> 값을 변경할 수 없음 void method(){ } abstract void method1(); // 추상메소드 : 인스턴스를 생성할 수 없음. // 상속을 통해 인스턴스화할 수 있음. } interface B{ // int a; // 필드와 메서드를 정의 할 수 없음. // void method(){}; final static int FIVE = 5; // 심볼릭 상수 선언은 가능 abstract void method1(); // 추상 메소드는 선언 가능 void method2(); // abstract 수식어는 생략 가능 } public class 인터페이스1 { public static void main(String[] args) { // B b = new B(); // 인터페이스 클래스는 인스턴스 생성 불가 // 상속을 통해 인스턴스화 해야함 } }
class A1 extends A{ @Override void method1(){} } class B1 implements B{ // 인터페이스를 상속(구현)할 때는 extends 대신 implements // 인터페이스의 추상메소드를 정의할 때는 public으로 접근 지정해야함 @Override public void method1(){} @Override public void method2(){} } public class 인터페이스2 { public static void main(String[] args) { // TODO 자동 생성된 메소드 스텁 } }
다중상속
class C{} class D{} //class E extends C, D{} // 자바는 다중 상속을 허용하지 않음 interface C1{} interface D1{} class E1 implements C1,D1{} // 인터페이스는 다중 상속이 가능 class E2 extends C implements C1,D1{} // 클래스와 인터페이스를 동시에 상속하는 것도 가능 public class 인터페이스3 { public static void main(String[] args) { // TODO 자동 생성된 메소드 스텁 } }
'JAVA > PRIMER' 카테고리의 다른 글
[JAVA] 중첩클래스 (0) | 2018.04.19 |
---|---|
[JAVA] 일반화클래스 (0) | 2018.04.19 |
[JAVA] 익명클래스 (0) | 2018.04.19 |
[JAVA] 추상클래스 (0) | 2018.04.19 |
[JAVA] 상속 (0) | 2018.04.19 |
댓글