실전 자바 강좌 (ver.2018) - 초보부터 개발자 취업까지!! 강의를
개인공부하며 정리하는 용도의 포스팅입니다.
학습목표
- 상속관계에 있는 클래스의 특징들에 대해서 학습
메서드 오버라이드(override)
부모 클래스의 기능을 자식 클래스에서 재정의해서 사용한다.
package lec19Pjt001;
public class ParentClass {
public void makeJJajang() {
System.out.println(" -- makeJJajang() START --");
}
}
package lec19Pjt001;
public class ChildClass extends ParentClass {
@Override
public void makeJJajang() {
System.out.println(" -- more delicious makeJJajang() START--");
}
}
ChildClass child = new ChildClass();
child.makeJJajang();
결과
ParentClass constructor
ChildClass constructor
-- more delicious makeJJajang() START --
자료형(타입)
기본 자료형처럼 클래스도 자료형이다.
- 부모 클래스
package lec19Pjt001;
public class ParentClass {
public void makeJJajang() {
System.out.println(" -- makeJJajang() START --");
}
}
- 첫번째 자식 클래스
package lec19Pjt001;
public class FirstChildClass extends ParentClass {
@Override
public void makeJJajang() {
System.out.println("-- FirstChildClass's makeJJajang() START --");
}
}
- 두번째 자식 클래스
package lec19Pjt001;
public class SecondChildClass extends ParentClass {
@Override
public void makeJJajang() {
System.out.println("-- SecondChildClass's makeJJajang() START --");
}
}
- 코드 실행
ParentClass childs[] = new ParentClass[2];
childs[0] = new FirstChildClass();
childs[1] = new SecondChildClass();
for (int i = 0; i < chlids.length; i++) {
childs[i].makeJJajang();
}
결과
ParentClass constructor
FirstChildClass constructor
ParentClass constructor
SecondChildClass constructor
-- FirstChildClass's makeJJajang() START --
-- SecondChildClass's makeJJajang() START --
Object 클래스
모든 클래스의 최상위 클래스는 Object 클래스이다.
Super 클래스
상위 클래스를 호출할 때 super 키워드를 이용한다
ParentClass
int openYear = 1995;
public void makeJJajang() {
System.out.println(" -- makeJJajang() START --");
}
ChildClass
int openYear = 2000;
public void getOpenYear() {
System.out.println("ChildClass's Open year : " + this.openYear);
System.out.println("ParentClass's Open year : " + super.openYear);
}
ChildClass
가ParentClass
를 상속함.
코드 실행
ChildClass c = new ChildClass();
c.getOpenYear();
결과
ParentClass constructor
ChildClass constructor
ChildClass's Open year : 2000
ParentClass's Open year : 1995
Comments