728x90
728x90
오버라이딩
오버라이딩(overriding)이란 부모 클래스의 멤버를 자식 클래스에서 재정의하여 사용하는 것을 말합니다.
public class Main {
public static void main(String[] args) {
Parent p = new Parent();
Child c = new Child();
p.print();
c.print();
}
}
// 부모 클래스 정의
class Parent {
public int iInt;
public void print() {
System.out.println("Parent Class");
}
}
// 자식 클래스 정의
class Child extends Parent{
public void print() {
System.out.println("Child Class");
}
}
위 소스코드에서 Child 클래스에 print 메소드를 정의했습니다. 그리고 자식 클래스에서 부모 클래스에 정의된 print 메소드를 다시 정의했습니다.
부모 클래스의 멤버를 상속 받았지만, 자식 클래스에서 해당 멤버의 내용을 수정했으므로 자식 클래스 객체에서는 바뀐 내용이 적용됩니다. 단, 부모 클래스에는 전혀 영향을 주지 않습니다.
이처럼 부모로부터 상속받은 멤버를 자식에서 재정의하는 것을 "오버라이딩"이라고 합니다.
<"오버로딩"과 이름은 비슷하지만, 오버로딩과 오버라이딩에는 큰 차이가 있습니다. >
728x90
728x90
'비전공자의 개발과 친해지기 > 클래스와 객체' 카테고리의 다른 글
[JAVA : 클래스와 객체]8. 추상화 & 추상클래스 (0) | 2022.06.13 |
---|---|
[JAVA : 클래스와 객체]6. 상속 (0) | 2022.06.08 |
[JAVA : 클래스와 객체]5. static (0) | 2022.05.05 |
[JAVA : 클래스와 객체]4. 접근제한자 (0) | 2022.04.18 |
[JAVA : 클래스와 객체]3. 생성자(constructor) (1) | 2022.04.14 |