추상 메소드
- 구현 코드를 가지지 않는 메소드
ex) public abstract int dd(int a, double b);
- 상속 계층의 상위 클래스에서 파생 클래스를 위해 메소드 시그니처만 정의해노고자 할때 사용
- 너무 일반적이기 때문에 코드를 정의할 수 없으며 파생 클래스에서 재정의해야만 호출 가능한 메소드가 된다
- 파생 클래스에서 반드시 재정의해야 하므로 virtual을 붙이지 않아도 자동으로 가상이다




- Animal은 일반적인 동물을 표현하기는 하지만 너무 일반적이어서 아무 것도 할 수 없으며 우는 소리조차 정의할수 없다
 동물들은 울 수 있지만 동물 그 자체는 우는 방식을 결정할수 업슨 것이다
 그래서 Animal의 Sound메소드는 본체를 가지지 않는 추상 메소드로 정의되어 있다
 즉, 동물은 분명히 울기는 하는데 어떻게 우는지는 Animal 단계에서 결정할 수 없고 밑으로 내려가봐야 아는 것

- 실세계에 존재하는 특정한 동물을 표현하는 것이 아니므로 A = new Animal() 생성문은 에러가 난다

- 추상 클래스의 자식들은 상속받은 추상 메소드를 재정의해야만 비로소 구체 클래스가 된다

Posted by 코딩하는 야구쟁이
,