Gomdori

Java의 특성 및 각종 정보 -4 본문

코딩(Coding)

Java의 특성 및 각종 정보 -4

Ghomdori 2019. 9. 16. 10:32

추상클래스(abstract class) : 하위에서 구현할 메소드의 원형을 가진 상위클래스이다.

- 상위클래스로만 존재

- 자체를 객체로 생성할 수 없다. new 연산자 X

추상클래스는 상속관계를 통해서 생성해서 사용해야한다.

 

추상클래스 형식

abstract class 클래스명{

                 일반멤버변수;

                 메소드들;

                생성자;

               abstract 반환형 메소드명();

}

- extends 키워드를 이용하여 추상클래스를 상속할 수 있다.

- 추상메소드를 하위에서 모두 구현할 필요가 없다.

 

인터페이스(interface) => 추상메소드 + 상수

- 추상클래스와 인터페이스의 비교(공통점)

(1) 상위클래스에서만 사용가능(상속관계에서만 가능)

(2) 하위에서 구현할 함수의 원형을 선언

- 추상클래스와 인터페이스의 비교(차이점)

(1)

추상클래스(abstrat class) = 일반멤버 + 추상메소드

인터페이스(interface) = 추상메소드 + 상수

(2) 추상클래스는 추상메소드를 일부 구현가능

- 인터페이스는 모두 구현해야 한다. 

(3) 다중상속 가능

(4) 인터페이스가 인터페이스를 다중상속한다.

인터페이스(interface)의 형식

interface 인터페이스명{

           public static final 데이터형 변수명 = 값;

          public abstract 리턴형 메소드명(매개변수....);

}

인터페이스(interface)의 간소화

interface 인터페이스명{

           데이터형 변수명 = 값;

           리턴형 메소드명(매개변수....);

}

 

인터페이스(interface) 상속형식

interface 인터페이스명{

           데이터형 변수명 = 값;

          리턴형 메소드명(매개변수....);

}

class 클래스명 implements 인터페이스명{

}

인터페이스 상속(다중상속)

interface A 와 interface B

void PrintA(); void PrintB();

interface A,B의 다중상속

interface C extends A,B{

          void PrintC();

} //interface A,B 를 다중상속하여 interface C에서 PrintC()를 할 경우 PrintA()와 PrintB() 두가지 모두 실행이 된다.

 

Comments