상속
어떠한 클래스를 새로이 만드는데
이전 클래스의 멤버변수에 무언가 추가되었다면
상속을 통해 코드를 효율적으로 만들수 있다.
class 클래스명 extends 이전클래스
위와 같은 형태로 만든다.
새로이 만드는 클래스를 자식(하위)클래스
계승하는 이전 클래스를 부모(상위,조상)클래스라 한다.
자식 클래스의 생성자에서도 부모클래스의
멤버변수를 사용할 수 있다.
자식클래스는 부모클래스의 생성자를 제외한
다른 메서드까지 상속 받는다.
부모클래스는 자식클래스의 메서드를
가져다 쓸 수 없다.
만약 자식클래스에서 부모클래스와 같은
메서드명 (기능은 다르다.)을 사용한다면
메서드 오버라이딩(overriding)이라고 한다.
부모클래스의 동명메서드를 메서드 선언부라 한다.
오버로딩(overloading)과 비슷하여 헷갈릴 수 있는데
오버로딩은 하나의 클래스안에서 같은 이름을 사용하는
여러개의 메서드를 말하고
오버라이딩은 부모클래스의 메서드를
자식클래스에서 상속받아 사용하는것을 말한다.
꼭 자식클래스에서 오버라이딩을 통한 메서드를 정의하지 않아도
부모클래스의 메서드를 가져다 사용할 수 있다.
자식클래스의 생성자의 첫줄에는
super( ); 가 존재한다.(내가 쓰지 않아도)
여기서 super는 부모의 생성자를 호출한다는 의미다.
super는 한번만 사용할 수 있다.
자식 생성자에서 부모 클래스의 디폴트 생성자가 아닌
특정 생성자를 호출하고 싶다면
super(특정 변수명);을 통해 호출할 수 있다.
이를 통해 생성자를 효율적으로 정의할 수 있다.
메서드 오버라이딩을 하는 경우중
메서드 선언부의 기능을 완전히 똑같이 사용하고
특정 기능을 추가한 식이라면
super.메서드선언부( ); 를 통해
부모클래스의 메서드를 호출하여
효율적으로 정의할 수 있다.
super. : 부모의 변수, 메서드에 접근할 때 사용한다.
상속 클래스는 또 다른 상속 클래스의 부모 클래스가 될 수 있다.
그렇게 가장 마지막 상속 클래스는 부모클래스와 그 클래스의 부모 클래스도 상속 받는다.
'Develop > JAVA' 카테고리의 다른 글
0527 JAVA 아홉번째 (0) | 2022.06.01 |
---|---|
0526 JAVA 여덟번째 (0) | 2022.06.01 |
0524 JAVA 여섯번째 (0) | 2022.06.01 |
0523 JAVA 다섯번째 (0) | 2022.06.01 |
0520 JAVA 네번째 공부! (0) | 2022.06.01 |