자바에서 다양한 객체를 대상으로 클래스를 작성해보겠습니다.
간단한 예제로 여러 유형의 동물을 나타내는 클래스를 만들어 보겠습니다.
이 예제에서는 상속과 다형성을 활용하여 여러 동물의 특징을 나타내는 클래스들을 구현할 것입니다.
### Animal 클래스
먼저 모든 동물의 공통 특성을 나타내는 `Animal` 클래스를 정의합니다.


### 상속을 이용한 구체적인 동물 클래스
이제 `Animal` 클래스를 상속받아 구체적인 동물들을 나타내는 클래스들을 만들어 보겠습니다.
#### Dog 클래스

#### Cat 클래스

### 메인 클래스에서 객체 생성 및 사용
이제 메인 클래스에서 위에서 정의한 동물 클래스들을 사용해보겠습니다.

//출력 예시
System.out.println("Name: " + genericAnimal.getName() + ", Age: " + genericAnimal.getAge());
genericAnimal.makeSound();
System.out.println("Name: " + myDog.getName() + ", Age: " + myDog.getAge() + ", Breed: " + myDog.getBreed());
myDog.makeSound();
System.out.println("Name: " + myCat.getName() + ", Age: " + myCat.getAge() + ", Purring: " + myCat.isPurring());
myCat.makeSound();
}
}
### 실행 결과
위의 메인 클래스를 실행하면 각 동물 객체들이 생성되고 해당하는 메소드가 호출됩니다.

이 예제에서는 `Animal` 클래스를 상속받아 `Dog`와 `Cat` 클래스를 정의하였습니다.
각 클래스는 고유의 특성을 가지고 있으며(`breed`와 `isPurring`), `makeSound()` 메소드를 오버라이딩하여 동물이 소리를 내는 방식을 다르게 구현하였습니다.
이렇게 다형성을 활용하여 여러 종류의 객체를 하나의 타입(`Animal`)으로 다룰 수 있습니다.
'##JAVA' 카테고리의 다른 글
| 대소문자 바꿔서 출력하기 (1) | 2024.07.10 |
|---|---|
| 객체배열(ObjectArray) 실습문제(Student) (0) | 2024.07.10 |
| GC<가비지 컬렉터> (예외, IO, 제네릭 복습) (0) | 2024.07.08 |
| 객체지향프로그램의 4요소 : 다형성 (0) | 2024.07.08 |
| 클래스와 다이어그램 (0) | 2024.07.08 |