TIL_230603

지인·2023년 6월 4일
0

TIL

목록 보기
17/38

🐰 상속

     🥕 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것

class Parent {} // 부모 클래스 (상위 클래스)

class Child extends Parent { // 자식 클래스(하위 클래스)
	...
}
  • 자식 클래스는 조상 클래스의 모든 멤버를 상속받는다.
    단, 생성자와 초기화 블럭은 상속되지 않는다.
  • 자식 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.
  • 단일 상속만을 허용

Object 클래스

     🥕 모든 클래스 상속계층도의 최상위에 있는 조상 클래스

  • 다른 클래스로부터 상속 받지 않는 모든 클래스들은 자동적으로 Object 클래스로부터 상속

오버라이딩 (overriding)

     🥕 부모 클래스로부터 상속받은 메서드의 내용을 변경하는 것

  • 메서드의 선언부(메서드 이름, 매개변수, 반환타입)는 부모의 것과 완전히 일치해야 한다.
  • 접근 제어자를 부모 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
  • 예외는 부모 클래스의 메서드보다 많이 선언할 수 없다.

오버로딩 vs 오버라이딩

  • 오버로딩 (overloading) : 기존에 없는 새로운 메서드를 정의하는 것 (new)
  • 오버라이딩 (overriding) : 상속받은 메서드의 내용을 변경하는 것 (change, modify)
class Parent {
	void parentMethod() {}
}

class Child extends Parent {
	void parentMenthod() {}       // 오버라이딩
    void parentMenthod(int i) {}  // 오버로딩
}

🐰 static import문

  • static 멤버를 호출할 때 클래스 이름을 생략할 수 있다. 특정 클래스의 static 멤버를 자주 사용할 때 편리
profile
열쩡

0개의 댓글