생성자는 void를 쓰지않고 클래스 이름 그대로만 쓴다 ex) class dog{ public dog == 생성자로서 정의된다. public void dog == 일반 메소드로써 정의된다. } 이 상태로 aniaml을 상속 시키게되면 빨간줄이 뜨게된다. 1. 정의되지 않은 추상클레스가 존재하므로 재정의 하라고 메세지가 뜨게된다. 2. cat 클래스 또한 추상화된걸 정의하지않고 추상화도 사용하라고 메세지가 뜨게된다. 즉 abstract를 사용하는것은 상속받았을 때 무조건 재정의 해야하는 메소드를 알려줄 때 사용할 수 있다. extends == 상속받은걸 그냥 쓰는거 implements == 가져와서 새롭게 쓰는거 --> 다중상속을 위해 사용한다. JAVA는 다중상속을 지원하지 않는다. implements ..
·메소드 재정의(method overriding): 서브 클래스가 필요에 따라 상속된 메소드를 다시 정의하는 것 @Override을 사용하면 재정의 한 메소드라는 것을 표시함으로써 함수 이름이 전에 선언되지 않았다면, 오류를 내어 사용자에게 재정의 함수이지만, 그 전에 정의되지 않았다는 것을 알려줌. (새로운 메소드로 선언되는것을 막아준다.) 오버로딩의 조건 : 같은 함수이름, 서로 다른 매개 변수 또는 매개 변수의 수 오버라이딩의 조건 : 같은 함수이름, 같은 매개 변수와 수 1. 모든 학생은 이름, 학번, 소속학과, 학년, 이수학점 수를 가진다. 추가적으로 학부생(undergraduate)은 소속 동아리명을 가지고 있고 대학원생(Graduate)은 조교 유형과 장학금 비율을 가진다. 조교 유형에는 교..