5.2.인터페이스 상속과 다중 상속
5.2.1.인터페이스 선언(in JAVA)
인터페이스는 자바 프로그래밍 언어에서 클래스들이 구현해야 하는 동작을 지정하는데 사용되는 추상형. 인터페이스는 노출된 행동들의 집합을 규정하므로 모든 메소드들은 암묵적으로 public이다.
예
public interface Interface1 extends Interface2;
public interface Predator{
boolean chasePrey(Prey p);
void eatPrey(Prey p);
}
-인터페이스 내 모든 메소드는 public abstract로 선언됨.
-인터페이스 내 모든 변수는 public static final로 선언됨
5.2.2.인터페이스 상속(in JAVA)
클래스에서의 인터페이스 구현의 예는 다음과 같다.
public class Lion implements Predator{
@Override
public boolean chasePrey(prey p){
}
@Override
public void eatPrey(Prey p){
}
}
인터페이스들은 아래와 같은 동일 공식을 사용하여 기타 여러 인터페이스들을 확장(extend)할 수 있다.
public interface VenomousPredator extends Predator, Venomous{
}
5.2.3.인터페이스 다중 상속(in JAVA)
인터페이스는 다중 상속이 가능하다. 1개의 클래스에서 2개이상의 인터페이스를 상속받을 수 있다.
예:
interface coffee{
public void coffeE();
}
interface cookie{
public void cookie();
}
class cafeorder implements coffee, cookie{
...
}
5.2.4.클래스 다중 상속(in C++)
C++에선 다중상속이 가능하다.(JAVA에선 불가능)
-다중 상속을 하려면 클래스 선언시 클래스명: 부모클래스1, 부모클래스2 ... 식으로 나열하면 된다.
-다중 상속시 여러 부모에서 같은 이름의 멤버변수를 가진 경우 '부모클래스명::멤버변수명'식으로 어느 부모 클래스의 것인지 명시해 줘야 한다.
5.3.다형성
5.3.1.가상함수 선언(in C++)
5.3.2.메소드의 동적바인딩
바인딩: 메서드를 호출하는 부분에서 메서드가 위치한 메모리 번지를 연결시켜 주는 것
정적바인딩: 컴파일에서 실행파일을 만드는 단계에서 호출할 메서드로 점프할 번지가 결정되어 바인딩 되는 것
동적바인딩: 실행파일을 만드는 과정에서 호출할 메서드로 점프할 번지를 결정하지 않고 실행할 때 즉석으로 결정하는 것
메서드의 동적바인딩의 예: C++의 가상함수, 오버라이딩 등
5.3.3.여러 하위 클래스의 객체들을 동일하게 사용하기
??
'학위공부 > 독학사 요점정리' 카테고리의 다른 글
[독학사/컴공/컴퓨터그래픽스]1.컴퓨터그래픽스의 개요 (0) | 2020.06.30 |
---|---|
[독학사/컴공/객체지향프로그래밍]10.기본함수와 예외처리 (0) | 2020.06.30 |
[독학사/컴공/객체지향프로그래밍]8.상속 (0) | 2020.06.30 |
[독학사/컴공/객체지향프로그래밍]7.객체 (0) | 2020.06.29 |
[독학사/컴공/객체지향프로그래밍]6.클래스와 객체 (0) | 2020.06.29 |