2008. 8. 8. 17:59

상속을 이용한 클래스 설계 및 출력

간단한 문제를 통해서 상속에 대해서 알아봅시다.

동물(Animal)과 개(Dog)와 사람(Human)이란 클래스를 서로 상속이란 개념을 도입해서 설계해 보도록 합시다.
슈퍼 클래스로는 동물(Animal)을 두고,
슈퍼 클래스에는 멤버변수로는 어떤 종인지의 구분을 위해서 kind와 다리의 개수를 저장하기 위한 leg를 둡니다.
또한 슈퍼 클래스의 멤버함수로는 getKind와 walk를 둡니다.
getKind 메서드는 어떤 동물인지를 알려주는 메서드이고 walk 메서드로 어떻게 걷는지를 알려주는 메서드입니다.
슈퍼 클래스 상속 관계로 개(Dog)와 사람(Human) 클래스를 설계해봅시다.
kind와

Animal

#kind : String

#leg : int

+Animal( )

+Animal(kind : String, leg : int)

+getKind( )

+walk( )

Dog

+bike( )

Human

+speak( )

1. ====================== Animal ====================================
package j4b1s;
public class Animal {
 protected String kind;
 protected int leg;
 public Animal() {
  super();
 }
 public Animal(String kind, int leg) {
  super();
  this.kind = kind;
  this.leg = leg;
 }
 public String getKind() {
  return kind;
 }
 public void setKind(String kind) {
  this.kind = kind;
 }
 public int getLeg() {
  return leg;
 }
 public void setLeg(int leg) {
  this.leg = leg;
 }
 public void walk(){
 }
}
===============================================================================
2. ====================== Human ====================================
package j4b1s;
public class Human extends Animal{
 public void speak(){
  System.out.print("Java개발자 이강국입니다.");
 }
}
===============================================================================
3. ====================== Dog ====================================
package j4b1s;
public class Dog extends Animal{
 public void bike(){
  System.out.println("멍멍하고 짖습니다.");
 }
}
===============================================================================
4. ====================== AnimalMain ====================================
package j4b1s;
public class AnimalMain {
 public static void main(String[] args) {
  Human human=new Animal();
  Dog dog=new Animal();
  Human speak=new Human();
  Dog bike=new Dog();
  human.kind="한국사람";
  human.leg=2;
  Human.speak();
  dog.kind="진돗개";
  dog.leg=4;
  Dog.bike();
  //System.out.println(human.getKind() + "은 다리가 "+ human.leg() + "개 이고 "+human.walk());
 }
}
===============================================================================

'수업 > 자바2JDK입문' 카테고리의 다른 글

Part 4. 상속 III 추상 클래스와 Final  (0) 2008.08.13
Part 4. 상속 II 생성자, 레퍼런스 형변환  (2) 2008.08.11
Part 4. 상속 I  (0) 2008.08.08
Part 3. static  (2) 2008.08.07
Part 3. 생성자  (0) 2008.08.07