-
메서드 오버라이딩은 상속된 메서드를 동일한 이름이나 인수로 정의하여 메서드를 덮어씌워서 메서드 기능을 추가하거나 변경하는 것을 의미한다.
주로 추상클래스에서도 많이 봤을텐데 기본적인 예시문을 만들어서 메서드 기능을 어떻게 재정의하는지 알아보자.
Class Animal {
String name;
int age;
public void printHuman() {
System.out.println("이름 : " +name);
System.out.println("나이 : " +age);
}
}Class Human extends Animal {
int tall;
public void printHuman() {
// 상속된 동일한 이름, 동일한 인수의 메서드를 다시 재정의하여 위의 클래스에서의 메서드가 동작을 안하고 덮어씌운다 . //
super.printHuman();
// 상위 부모 클래스의 메서드를 갖고 와서 상위와 하위 클래스의 기능을 같이 실행한다. //
System.out.println("키: " +tall);
}
}
public Class HumanA{
public static void main(String[] args) {
Kim kim = new Kim();
kim.name = "홍길동";
kim.age= 20;
kim.tall = 180;
kim.printHuman();
}
}
출력시 printHuman 메서드가 재정의되어서 상위 클래스와 하위 클래스의 메서드의 기능들이 모두 출력된다.
'자바 > 자바 키포인트' 카테고리의 다른 글
[자바] ArrayList로 배열 요소들을 순차적으로 갖고 오고 해당되는 요소를 삭제하는 코드 연습하기 (0) 2022.10.21 [자바] 기본 자료형과 참조 자료형의 정의와 특징 정리하기 (0) 2022.10.12 [자바] 변수 선언과 변수를 선언과 동시에 초기화해서 while&for문으로 1부터 10까지의 합 구하는 예제 만들어보기 (0) 2022.09.15 [자바] Scanner 클래스와 for문/while문을 활용해서 서식문자로 간단한 예문 연습하기 (0) 2022.09.11 [자바] 자바에서 함수의 정의와 호출&반환 간단한 예시문 연습하기 (0) 2022.09.05 댓글