상속의목적
1. 기존에 선언된 클래스이 필드를 새롭게 만들 클래스의 필드로 사용하고자 할때 (이미 만들어서 사용하고 있던 부분을 상속받아서 사용하게끔하려고)
2. 여러 클래스 선언 시 필드가 겹치는 경우, 부모클래스를 먼저 선언하고 공통필드를 묶어서 자식클래스에게 상속해준다.(만들다 보니깐 공통된 필드 값들이 있어서 묶어주기 위해서)
부모,상위,슈퍼,기반
자식,하위,서브,파생
자식 클래스 타입의 객체로 부모필드에 접근할 수 있다.
하지만 자식 생성자만 호출하기 때문에, 자식 필드만 메모리에 할당된다고 생각할 수 있다.
사실 자식 생성자는 항상 부모 생성자를 호출하기 때문에 자식 생성자 호출 시 부모와 자식 필드 모두 메모리에 할당된다.
이 때 부모 생성자를 호출하는 방법은 super()를 사용하는 것이다.
super()를 작성하지 않더라도 컴파일러가 자동으로 작성해준다.
super:부모 필드 주소
재정의할 때 부모 필드를 그대로 사용하고 싶다면 super로 접근한다.
1.오버 로딩(매개변수의 개수나 타입이 다를 경우)