-
Power JAVA 10장 ) 상속 - LABIT/솔루션) Power Java 2019. 5. 12. 17:50
<2016. 10. 11. 12:23>
Power JAVA 10장 ) 상속 - LAB
==========Human.java====================== //1. 클래스 Human을 정의하여 보자. 다음과 같은 필드를 작성하라. package LAB; class Human { String name; int age; //2. 생성자를 작성하여 보자. public Human(String name, int age) { this.name = name; this.age = age; } //3. 각 필드에 대하여 접근자와 설정자를 작성하여 보자. public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } //4. 객체의 현재 상태를 나타내는 문자열을 반환하는 toString()을 작성하여 보자. 객체의 현재값을 반환한다. public String toString() { return name +","+ age; } /* 5. 클래스 Human 안에서 main() 메소드를 추가하여서 * ("춘향",18세), ("몽룡",21세), ("사또",50)에 해당하는 객체를 생성하여 보라. * 각 객체의 toString을 호출하여서 출력하여 보라. */ public static void main(String[] args) { Human person1 = new Human("춘향",18); Human person2 = new Human("몽룡",21); Human person3 = new Human("사또",50); System.out.println(person1.toString()); System.out.println(person2.toString()); System.out.println(person3.toString()); } } ====================Student.java============================ package LAB; //6. 클래스 Human을 상속하여서 Student 클래스를 작성하여 보자. 다음과 같은 필드가 추가된다. class Student extends Human { String major; //7. 다음과 같은 생성자를 정의하여 보자. 부모 클래스의 생성자를 호출하여 보자. public Student(String name,int age,String major) { super(name,age); this.major = major; } //8. 각 필드에 대하여 접근자와 변경자를 작성하여 보자. public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void setMajor(String major) { this.major = major; } public String getMajor() { return major; } //9. 객체의 현재 상태를 나타내는 문자열을 반환하는 toString()을 작성하여 보자. // 부모의 toString()을 호출하여 문자열을 만들어라. public String toString() { return super.toString() +","+ this.major; } /* 10. 클래스 Student 안에서 main() 메소드를 추가하여서 * ("명진", 21세, "컴퓨터") , ("미현", 22세, "경영") , ("용준", 24세, "경제") 에 해당하는 객체를 생성하여 보라. * 각 객체의 toString을 호출하여서 출력하여 보라. */ public static void main(String[] args) { Student person4 = new Student("명진", 21, "컴퓨터"); Student person5 = new Student("미현", 22, "경영"); Student person6 = new Student("용준", 24, "경제"); System.out.println(person4.toString()); System.out.println(person5.toString()); System.out.println(person6.toString()); } } /* 11. Human과 Student 클래스의 생성자들이 어떤 순서로 호출되는지를 화면에 출력하여 보라. - 부모클래스인 Human의 생성자를 통해 Human의 인스턴스를 만든 후, Student의 생성자를 통해 Student의 인스턴스를 만든다. */ /* 12. name과 age의 접근 지정자를 private, protected, public으로 변화시키면서 Student 클래스에서 접근하여 보라. * - Human클래스의 필드를 private로 바꿨을때, super(name,age)와 같이 부모클래스의 생성자를 통해 접근할 경우 접근이 가능, * 자식클래스의 main메소드 안에서 person.name = "XX" 와 같이 직접접근의 경우 제한되어 에러가 발생 * - 그러나 protected나 public 의 경우는 에러없이 접근 가능. */
'IT > 솔루션) Power Java' 카테고리의 다른 글
Power JAVA 10장 ) 상속 - Programming_2 (0) 2019.05.12 Power JAVA 10장 ) 상속 - Programming_1 (0) 2019.05.12 Power JAVA 10장 ) 배열 - Programming_3 (0) 2019.05.12 Power JAVA 10장 ) 배열 - Programming_2 (0) 2019.05.12 Power JAVA 10장 ) 배열 - Programming_1 (0) 2019.05.12