JAVA

[JAVA] 상속

응디 2021. 3. 24. 09:45

1. 상속이란?
기존의 클래스를 재사용하여 새로운 서브 클래스 작성하는 것을 말한다.
멤버의 모호성을 없애기 위해 , 다중 상속은 허용 불가(한번에 다중 상속 불가 여러 대에 걸쳐는 가능)

 ex) 클래스 + extends + 상속받을 부모 클래스 이름

자식 클래스는 부모의 메소드를 상속받아 사용이 가능하지만,  private멤버는 상속을 받을 수는 있지만 자식클래스에서 접근은 불가능하다.


< 상속 응용 >

 

- Main Class

package chap05.exam01.inherit;
public class Main {
 public static void main(String[] args) {
  Person person = new Person(); //person 객체생성
  /*Mamal의 메서드->Person은 Mamal을 상속 받았기 때문에 mamal 메서드 사용 가능 */
  person.birth();
  person.eat();
  
  /*Person의 메서드*/ 
  person.social();
  person.talk();
  person.useTool();
 }
}

 

- Birds Class

package chap05.exam01.inherit;
public class Birds {
 
 public void birth() {
  System.out.println("알을 낳다.");
  
 }
 
 public void fluttering() {
  System.out.println("날개짓 하다.");
 }
}

 

- Mamal Class

package chap05.exam01.inherit;
public class Mamal {
 
 public void birth() {
  System.out.println("새끼를 낳다.");
  
 }
 
 public void eat() {
  System.out.println("음식을 먹다.");
 }
}

 

 

- Mamal을 상속받은 Person Class

package chap05.exam01.inherit;
public class Person extends Mamal{
 public void useTool() {
  System.out.println("도구를 쓴다.");
 }
 public void social() {
  System.out.println("사회생활을 한다.");
 }
 public void talk() {
  System.out.println("대화를 한다.");
 }
}

'JAVA' 카테고리의 다른 글

[JAVA] 오버라이딩  (0) 2021.03.24
[JAVA] Getter, Setter  (0) 2021.03.24
[JAVA] static 초기화, final , 상수선언  (0) 2021.03.23
[JAVA] 객체화, Static  (0) 2021.03.23
[JAVA] 생성자 오버로드, this 사용  (0) 2021.03.23