1 분 소요

-Parent-

public class Parent {
 
private String name;
 private boolean gender;
 
public Parent() {
 this("무명씨" ,false);
 }
 
public Parent(String name, boolean gender) {
 this.name = name;
 this.gender = gender;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public boolean isGender() {
 return gender;
 }
 public void setGender(boolean gender) {
 this.gender = gender;
 }
 @Override
 public String toString() {
 return name + "(" + (gender ? "남" : "여") +")";
 }
 


}

-InherritanceTest-

public class InherritanceTest {
 
public static void main(String[] args) {
 
Parent parent1 = new Parent();
 System.out.println(parent1);
 Parent parent2 = new Parent("이몽룡", true);
 System.out.println(parent2);
 

Child child = new Child("성춘향", false, 16, "이쁜이");
 System.out.println(child);
 }
 



}

``

-Child-

```java
public class Child extends Parent{
// Parent 클래스를 상속 받았으므로 parent 클래스의 모든 멤버변수와 메소드를 별도로 정의하지 않아도 사용 할 수있다.
// 부모 클래스의 private 권한을 가진 멤버는 상속은 받았지만 접근 할 수 없다.
 
private int age;
 private String nickName;
 
// 자동완성 기능을 사용해도 현재 클래스에서 직접 입력 해 정의하지 않은 멤버는 보이지 않는다.
// 부모클래스로 부터 상속받은 멤버 변수의 접근 권한이 private일 경우 부모 클래스의 생성자를 호출해서 초기화시킨다.
// 부모클래스로 부터 상속받은 멤버 변수의 접근 권한이 private일 경우 부모 클래스 Setter메소드가 작성되어 있다면
// setter메소드를 사용해서 초기화시킬 수 있다.
 
// 부모클래스로 부터 상속받은 멤버 변수의 접근 권한이 protected일 경우 자식클래스에서는 자유롭게 접근할 수 있으므로
// 일반 멤버 변수를 초기화 시키듯이 this를 사용한 초기화가 가능하다.
 
public Child(String name, boolean gender, int age, String nickName) {
 super(name, gender); //setName(name); //setGender(gender);
 this.age = age; //protected일 경우 this.name = name // this.gender = gender;
 this.nickName = nickName;
 }
 
public int getAge() {
 return age;
 }
 public void setAge(int age) {
 this.age = age;
 }
 public String getNickName() {
 return nickName;
 }
 public void setNickName(String nickName) {
 this.nickName = nickName;
 }
 @Override
 public String toString() {
 return getName() + "(" + (isGender() ? "남" : "여") + ") - " + age +"," +nickName;
// return name + "(" + (gender ? "남" : "여") + ") - " + age + ", " + nickName;
 
}
}

image

댓글남기기