-
[JAVA 29] 자바 오버라이딩 ( Overriding )Language/Java 2018. 2. 14. 18:00반응형
■ 오버라이딩 ( Overriding ) 과 오버로딩 ( Overloading )
오버라이딩과 오버로딩은 오버~딩 이라고
흔히들 말하기 때문에 용어 말하기에 대해서 혼동하기 쉽다고 생각합니다.
하지만 개념을 알고 보면 그렇게 비슷한 부분이 없기때문에
그리 어렵지 않습니다.
1) 오버라이딩 ( Overriding )
메소드를 재정의 하는 것을 오버라이딩이라고 합니다.
상속관계에서 자식클래스가 부모클래스의 메소드를 재정의 할때를 재정의 라고 합니다.
재정의 == 오버라이딩 == 덮어씌우는 것
(1) 설명
상속관계에 있는 부모클래스 메소드의 내용을
자식클래스 메소드의 내용으로 재정의 하는 것 (= 덮어씌우는 것 )
(2) 조건
① 자식클래스의 접근제한자가 더 넓거나 같아야 한다.
② 리턴타입이 일치해야 한다.
③ 파라미터의 종류와 갯수, 그리고 순서가 일치되어야 한다.
1234567891011121314151617181920class OverridingS1{ // Overriding Study 1String name = "CIVIC";int age = 100;void m(String name , int age){ // 같은 이름의 메소드System.out.println(name + age);}}class OChild extends OverridingS1{void m(String name , int age){ // 같은 이름의 메소드 , 파라미터도 같아야 한다.System.out.println(name + age);}public static void main(String[] args){OverridingS1 os1 = new OChild();os1.m("시빅 주니어" , 50);}}cs 반응형'Language > Java' 카테고리의 다른 글
[JAVA 31] 자바 인터페이스 ( Interface ) (0) 2018.02.14 [JAVA 30] 자바 오버로딩 ( Overloading ) (0) 2018.02.14 [JAVA 28] 자바 식별자 ( Identifier ) (0) 2018.02.14 [JAVA 27] 자바 ④ 추상 제한자 ( abstract ) < 추상 메소드 / 추상 클래스 > (0) 2018.02.14 [JAVA 29] 자바 ③ 수정 제한자 ( final ) (0) 2018.02.14