Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Archives
Today
Total
관리 메뉴

기록 저장소

오버로딩(Overloading)과 오버라이딩(Overriding) 본문

Note/개념정리

오버로딩(Overloading)과 오버라이딩(Overriding)

resault 2019. 8. 15. 01:54

1. 오버로딩(Overloading)

- 클래스 내에 같은 이름의 메소드를 여러개 선언하는 것을 말한다.

- 매개변수의 타입, 개수, 순서 중 하나가 달라야 하며, 리턴 값은 같아도 무관하다.

- 메소드의 이름과 매개변수의 타입, 개수, 순서를 모두 같게 하고 리턴 값만 다르게 주는 경우 컴파일 오류가 발생한다.

- 같은 메소드를 호출하면서도, 매개 값을 달리 주어 다형성을 구현할 수 있게 한다.

 

2. 오버라이딩(Overriding)

- 상속관계에 있는 클래스 간에 메소드를 재정의하는 것을 말한다.

- 부모 클래스의 메소드와 이름, 리턴타입, 매개 변수가 같아야 하며, 접근 제어자의 경우 보다 넓은 의미의 것으로 바꿀 수 있다.

- 메소드 선언시에 final 키워드를 사용하면 오버라이딩할 수 없는 메소드가 된다.

- @Override 어노테이션을 사용하면, 정확히 오버라이딩 된 것인지 여부를 컴파일러가 체크한다.

- 메소드가 오버라이딩 된 경우, 자식 객체에서 해당 메소드를 호출하면 오버라이딩 된 자식 메소드가 호출된다.

- 자식 클래스 내부에서 오버라이딩 된 부모 클래스의 메소드를 호출할 때는 super 키워드를 사용한다.

'Note > 개념정리' 카테고리의 다른 글

Call by value와 Call by reference  (0) 2019.08.17
추상클래스와 인터페이스  (0) 2019.08.17
프로세스(Process)와 스레드(Thread)  (0) 2019.08.14
자바(Java)의 특징  (0) 2019.08.14
Parsing & Parser  (0) 2019.05.14