[java] 자바 상속의 목적과 메소드 오버라이딩(Overriding)에 대한 이해


java 상속
– 기존클래스에 새로운 변수와 메소드를 추가하여 새로운 클래스를 만드는 것
– extends 키워드를 사용
– super 키워드로 상위클래스 생성자를 호출
– private 멤버도 상속됨(직접접근불가)
상위클래스의 private 멤버는 메소드를 통한 간접접근만 허용한다.

 

– 상위클래스의 생성자는 어떤식으로든 반드시 호출됨
프로그래머가 정의하지 않으면 생성자 호출문이 자동으로 삽입된다.

 

– 상위클래스의 참조변수로 하위클래스의 인스턴스 참조가 가능

 

메소드 오버라이딩(Overriding)
– 상속 관계에 있는 클래스 간에 같은 이름의 메소드를 정의하는 기술

– 상위클래스의 메소드를 하위클래스에서 다시 정의 하는것

 

상속의 목적
– 다형성(상위클래스의 참조변수로 하위클래스의 인스턴스를 참조)과 메소드 오버라이딩(동일한 방식의 메소드 호출 가능) 을 통해서 일련의 클래스에 대한 공통의 규약을 적

final 클래스와 final 메소드
– final 클래스는 상속을 허용하지 않는다.
– final 메소드는 오버라이딩을 허용하지 않는다.