상속

염지은·2021년 12월 12일
0

java

목록 보기
23/45

[ 상속(***) ]

  • 기본클래스(부모클래스,super클래스)의 속성과 메소드(기능)을 물려받고
    기존의 기능을 수정하거나 새로운 기능을 추가하는 것
  • 형식)
    class 부모클래스{
    ...
    }
    class 자식클래스명 extends 부모클래스{
    // 속성과 기능추가
    ..
    }
    • 부모의 private멤버는 자식클래스에서 접근할 수 없다.
    • 부모의 protected멤버는 외부(다른패키지)에서는 접근할 수 없고
      자식클래스에서는 접근할 수 있다.
//사람클래스 : 이름/주민등록번호
class Person{
	private String name;
	private String jnum;//주민등록번호
	public void setPer(String name,String jnum) {
		this.name=name;
		this.jnum=jnum;
	}
	public void printPer() {
		System.out.println("이름:" + name);
		System.out.println("주민등록번호:" + jnum);
	}
}
//학생클래스 : 이름/주민등록번호/학번/전공
class Student extends Person{
	private int stNum;//학번
	private String major;//전공
	public void setStu(int stNum,String major) {
		this.stNum=stNum;
		this.major=major;
	}
	public void printStu() {
		System.out.println("학번:" + stNum);
		System.out.println("전공:" + major);
	}
	public void setAll(String name,String jnum,int stNum,String major) {
		setPer(name, jnum);
		this.stNum=stNum;
		this.major=major;
	}
	public void printAll() {
		//System.out.println("이름:" + name);//에러 -> 부모의 private멤버는 접근할수 없음
		//System.out.println("주민등록번호:" + jnum);
		printPer();
		System.out.println("학번:" + stNum);
		System.out.println("전공:" + major);
	}
	
}
public class Test06_상속 {
	public static void main(String[] args) {
		Student s=new Student();
	//	s.setPer("홍길동","1234567");
	//	s.setStu(100,"컴퓨터공학");
	//	s.printPer();
	//	s.printStu();
		s.setAll("홍길동","1234567",100,"컴퓨터공학");
		s.printAll();
		
	}
}




0개의 댓글