728x90
반응형
상속(inheritance) : 부모 클래스, 자식 클래스
클래스 상속을 위해 extends를 사용한다.
public class Main {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setName("Tom");
Dog dog = new Dog();
dog.setName("Jerry");
System.out.println(dog.name);
dog.sleep();
HouseDog happy = new HouseDog("happy");
HouseDog yorkshire = new HouseDog(1);
// houseDog.sleep();
// houseDog.sleep(3);
System.out.println(happy.name);
System.out.println(yorkshire.name);
}
}
class Animal {
String name;
void setName(String name) {
this.name=name;
}
}
class Cat extends Animal {}
class Dog extends Animal { // animal (부모)클래스의 상속된 dog (자식)클래스
void sleep() { // 클래스 기능의 확장(메서드 추가):정의된 속성을 확장
System.out.println(this.name+" zzz");
}
}
class HouseDog extends Dog {
HouseDog(String name) {
this.setName(name);
}
HouseDog(int type) {
if(type == 1) {
this.setName("yorkshire");
} else if(type ==2) {
this.setName("bulldog");
}
}
void sleep() {
System.out.println(this.name+" zzz in house");
}
void sleep(int hour) {
System.out.println(this.name+" zzz in house for "+hour+" hours");
}
}
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[자바] 다형성(polymorphism) (0) | 2023.11.13 |
---|---|
[자바] 인터페이스(interface) (0) | 2023.11.13 |
[자바] 값에 의한 호출과 객체에 의한 호출 : 전달받은 숫자를 1만큼 증가시키는 update메서드 (0) | 2023.11.13 |
[자바] 자바 클래스(class)의 이해 (0) | 2023.11.13 |
[자바] 자바 객체 지향 프로그래밍(계산기 예제) (0) | 2023.11.13 |