자바에서 상속을 사용하는 간단한 예제를 통해 상속의 기본 개념을 이해해 보겠습니다. 이 예제에서는 동물(Animal)과 그 하위 클래스인 개(Dog)와 고양이(Cat) 클래스를 사용합니다.
Animal 클래스
public class Animal {
// 멤버 변수
String name;
// 생성자
public Animal(String name) {
this.name = name;
}
// 메서드
public void speak() {
System.out.println(name + "이(가) 소리를 냅니다.");
}
}
Dog 클래스 (Animal 클래스를 상속받음)
public class Dog extends Animal {
// 생성자
public Dog(String name) {
super(name);
}
// 메서드
public void bark() {
System.out.println(name + "이(가) 짖습니다.");
}
}
Cat 클래스 (Animal 클래스를 상속받음)
public class Cat extends Animal {
// 생성자
public Cat(String name) {
super(name);
}
// 메서드
public void meow() {
System.out.println(name + "이(가) 울부짖습니다.");
}
}
이제 위의 클래스들을 사용하는 간단한 예제를 보겠습니다.
public class InheritanceExample {
public static void main(String[] args) {
Dog myDog = new Dog("멍멍이");
Cat myCat = new Cat("야옹이");
myDog.speak(); // Animal 클래스의 메서드 호출
myDog.bark(); // Dog 클래스의 메서드 호출
myCat.speak(); // Animal 클래스의 메서드 호출
myCat.meow(); // Cat 클래스의 메서드 호출
}
}
이 예제에서, Animal 클래스는 동물의 기본 특성을 나타내고, Dog와 Cat 클래스는 Animal 클래스를 상속받아 각각 개와 고양이의 추가적인 특성을 나타냅니다. speak 메서드는 Animal 클래스에서 상속되었으며, bark 메서드는 Dog 클래스에서 추가되었습니다. 마찬가지로, meow 메서드는 Cat 클래스에서 추가되었습니다.
결과적으로, 이 예제에서 Dog와 Cat 객체는 Animal 객체의 속성과 메서드를 상속받았으며, 각각의 클래스에 정의된 고유한 메서드도 사용할 수 있습니다. 이것이 상속의 핵심 아이디어 중 하나인 "코드 재사용"을 보여주는 간단한 예제입니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 오버라이딩이란 (0) | 2023.11.10 |
---|---|
자바 Object클래스 (0) | 2023.11.10 |
자바 단일상속 (0) | 2023.11.10 |
자바 상속 포함관계 (0) | 2023.11.10 |
자바 상속 클래스간의 관계 (0) | 2023.11.10 |