[Java] 상속과 Object

수경·2023년 8월 10일
0
post-thumbnail

상속, Inheritance

1. 상속이란

  • 부모가 가지는 재산을 자식에게 물려주는 행동
  • 부모 클래스가 가지는 재산(변수, 메소드)을 자식 클래스에게 물려주는 행동
  • 자식 클래스가 코드를 구현하지 않아도, 부모 클래스로부터 구현된 코드를 물려받는 행동
  • 코드 재사용 > 비용 절감

2. 상속관계에 있는 클래스 호칭

  1. 부모클래스 <- 자식클래스
  2. 슈퍼클래스 <- 서브클래스
  3. 기본클래스 <- 확장클래스
  4. 기본클래스 <- 파생클래스

3. 예제코드

public class Ex45_Inheritance {
	public static void main(String[] args) {
    	//부모클래스 인스턴스 생성
		Parent p = new Parent();
		p.a = 10;
		p.b = 20;
		
        //자식클래스 인스턴스 생성
		Child c = new Child();
		c.a = 20;	//부모클래스에서 물러준 멤버;
		c.b = 30;
		c.aaa();
		c.ccc();
		
	}
}
//부모클래스
class Parent {
	public int a;
	public int b;
	
	public void aaa() {
		System.out.println("aaa");
	}
}
//부모클래스를 상속받은 자식클래스
class Child extends Parent {
	public int c;
	public int d;
	
	public void ccc() {
		System.out.println("ccc");
	}
}

Object

1. Object란

  • 모든 클래스의 근원 클래스(Root Class)
  • JDK에서 제공되는 클래스
  • 9개 메소드 : 모든 클래스들에게 공통으로 필요한 기능을 제공
  • 개발자가 만드는 모든 클래스는 명시적으로 상속을 구현하지 않으면, 자동으로 Object클래스의 자식 클래스가 된다.

2. 예제코드

public class Ex46_Object {
	public static void main(String[] args) {
		Object o1 = new Object();
		
		TestChild c = new TestChild();
		// c가 가지는 멤버 : a,b,c,d;
	}
}
//개발자가 만드는 모든 클래스는 명시적으로 상속을 구현하지 않으면, 자동으로 Object클래스의 자식 클래스가 된다. (생략)
class TestParent extends Object {
	public int a;
	public int b;
}

class TestChild extends TestParent {
	public int c;
	public int d;
}
profile
웹백엔드개발자를 꿈꾸는

0개의 댓글