<aside> 😊 java의 상속과 접근제한자, 클래스, 접근제어자, super와 부모생성자, 오버라이딩, 클래스의 형변환 등에 대해 정리한 페이지입니다 :)
</aside>
**상속**
public class 클래스명 extends 부모클래스명
- 클래스를 상속받으려면 **extends** 중요
**접근제한자
-** 클래스 내에서 멤버의 접근을 제한하는 역할
**클래스(필드, 메서드)
-** 이것을 캡슐화라고 함
💡 여기서 캡슐화란? 관련된 내용을 모아서 가지고 있는것입니다!
**접근제어자**
public > protected > default > private
public : 모든 접근을 허용, 가장 넓은 의미
protected : 같은 패키지인 경우 접근 허용, 다른 패키지라도 상속을 받은 경우 접근을 허용
default 접근지정자 : 아무것도 쓰지 않은 경우 자기 자신과 같은 패키지 내에서 접근 허용
private : 자기 자신만 접근 할 수 있음
**추상클래스**
public abstract void sing();
//abstract : 추상메소드
public abstract class Bird{ ... }
메소드가 하나라도 추상메소드인 경우 해당 클래스는 추상 클래스
💡 추상클래스 내부에는 일반 메소드 구현 가능
**super와 부모생성자
생성자가 하는일
-** 객체를 초기화하는 일
**생성자가 호출 될 때
-** 자동으로 부모의 생성자가 호출되면서 그 객체를 초기화
**super 키워드
-** 부모 객체를 나타내는 키워드
💡 super (); // ();가 붙으면 부모생성자
**오버라이딩(Overriding)**
- 부모가 가지고 잇는 메소드와 똑같은 메소드를 가지고 있는 것
즉 오버라이딩이란 메소드를 재정의 하는 것
💡 super 키워드를 사용하여 자식 클래스에서 부모클래스의 메소드 호출
**클래스의 형변환**
- 부모타입으로 자식을 가리킬 수 있다. 이 경우 부모가 가지고 있는 내용만 사용 가능