노승현
상속이란? 본문
상속이란?
자바에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소이다.
클래스A
상위 클래스
부모 클래스
클래스 B
하위 클래스
자식 클래스
일단 코딩해보고 부족하거나 틀린 부분이 있으면 그 때 고치자
x
정확하고 올바른 설계가 완성된 후에
코딩을 시작한다...
상속관계 extends 키워드
-> 반드시 "설계" 필수
모든 자식 클래스의 생성자 가장 첫 출에는
부모 클래스의 기본 생성자가 자동 호출된다.
부모 클래스의 기본 생성자가 자동 호출된다. 하는 이유
자식 클래스에게는 부모 클래스가 가지고 있는 멤버변수를 초기화 할 수 있는 능력이 없다 그래서 반드시 부모 클래스의 기본생성자를 가장 먼저 호출해야만 한다.
부모 클래스에게 기본 생성자가 없다면?
->에러가 남
1) 부모 클래스에게 기본생성자를 만들어준다.
사용하면 안됨,,,
설계를 안했거나 or 못했거나 둘 다 문제임
※ 개발을 하다가 이전 내용을 수정 변경해야하는 상황이다?
아~~ 내가 설계가 부족하구나
모든 개발을 멈추고 설계를 해야된다
★ 2) 부모에게 존재하는 다른 생성자를 호출하여
부모클래스에서 선언된
멤버 변수를 초기화 한다.
★ 모든 멤버변수를 초기화할 수 있다면, 에러가 안난다.
====================================================
자식 클래스 입장에서
부모 클래스가 가진 .printInfo() 라는 기능을 사용하고는 싶은데
뭔가 동작방법이 마음에 안드네?????????????????????
=> 함수 재정의
=> 메서드 재정의
오버로딩
함수명이 동일
메서드 시그니쳐가 다름
상속관계 x
함수명 중복정의허용
함수가 N개
오버라이딩
함수명이 동일
메서드 시그니쳐가 같음
상속관계o
메서드 재정의
메서드가 1개