자바의 정석/Ch7. 객체지향프로그래밍2 3

[Java] 오버로딩 vs 오버라이딩

오버로딩(overloading) : 기존에 없는 새로운 메서드를 정의하는 것(new) 오버라이딩(overriding) : 상송받은 메서드의 내용을 변경하는 것(change, modify) class Parent{ void parentMethod() {} } class Child extends Parent{ void parentMethod() {} //오버라이딩 void parentMethod(int i) {} //오버로딩 void childMethod() {} void childMethod(int i) {} //오버로딩 void childMethod() {} //error 중복 }

[Java] 오버라이딩

오버라이딩의 조건 오버라이딩은 메서드의 내용만을 새로 작성하는 것이므로 메서드의 선언부는 조상의 것과 완전히 일치해야 한다. 조건은 다음과 같다. 자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 - 이름이 같아야 한다. - 매개변수가 같아야 한다. - 반환타입이 같아야 한다. 조상 클래스의 메서드를 자손 클래스에서 오버라이딩 할 때 1. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다. 2. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다. 3. 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다.

[Java] 상속(inheritance)

상속의 정의와 장점 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 코드의 재사용성을 높이고, 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 구현 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주기만 하면 된다. 조상 클래스 : 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스 자손 클래스 : 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스 ex) 자손 클래스는, 조상의 멤버를 모두 상속 받는다. class Parent{ } class Child extends Parent { }