티스토리 뷰

TIL/Java

[Java] Overloading ,Overriding

빙빙 2021. 1. 31. 16:43

Typemethod 두가지로 다형성이 나뉜다.

Method overloading overriding으로 두가지로 나뉜다.

 

오버로딩 : 이름이 같아도 파라미터가 다르면 별개의 메소드로 간주함 =생성자 느낌 (생성자에는 parameter가 있는 것과 없는 기본 생성자가 있다)

method overloading: 클래스 안에서 동일한 이름의 메소드가 파라메터가 달라서 구분되는 경우, 리턴타입 바꿔도

 

오버라이딩 : 상속 관계에서 부모 클래스의 메소드를 자식 클래스에서 재정의할 수 있음

method overriding :부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는

 

method name, return type, parameter - 부모와 동일

access modifier(접근 지정자) - 부모의 접근지정자보다 범위가 크거나 같은 것만 가능

자식은 부모타입. 쉽게 말하면, 자식은 부모의 종류 ,포도는 과일타입

접근 지정자만 달라도 된다.

상위클래스타입 변수 = new 하위 관계일 때 생성가능 , 타입에 대한 다형성임

toString()의 재정의(Overriding)에 해당하는 것임

재정의(오버라이딩)된 메소드만 부모 타이브로 선언한 변수로 호출하면 호출이 됨

 

Object(호출범위)  x = new Corona();(호출대상, 자식이 가지고있으면 자식꺼로)

 

@Override Annotation

재정의 주석: 메소드를 재정의 할 때 사용한다. Annotation은 부모 클래스의 특정 메소드를 재정의 한다고 컴파일러에게 명시하는 것이다. 상속관계에서 많이 사용한다.

'TIL > Java' 카테고리의 다른 글

Garbage Collection  (0) 2023.01.21
[Java] 추상메소드 , 인터페이스  (0) 2021.01.31
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함