오버라이딩은 상속과 관련하여 메서드를 재정의하는 것이고,
오버로딩은 하나의 클래스 안에서 동일한 이름의 메서드를 여러개 정의하는 것이다.
오버로딩(Overloading)
한 클래스 내에서 동일한 이름의 메서드로 파라미터, 처리동작, 리턴값을 다르게 하여 여러번 정의 가능한 것을 말한다. 매개변수 타입, 개수, 순서 중 1개라도 달라야한다. 오버로딩은 상속과 상관없이 한 클래스 내에서 동일한 이름의 메서드를 여러 개 정의할 수 있다.
오버라이딩(Overloading)
상속을 받는 하위클래스에서 상위클래스의 메서드를 '재정의' 하여 사용하는 것이다. 상위클래스의 메서드를 하위클래스에서 오버라이딩할 때는 해당 메서드의 이름과 인자, 리턴값을 그대로 선언하고, { } 안의 실행될 내용만 변경하여 사용한다. 오버라이딩의 경우 호출 순서가 중요하다. 자식클래스에서 다시 정의된 메서드는 부모클래스의 메서드보다 우선한다. 또한, private메서드는 오버라이딩이 불가하다.
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
XML(eXtensible Markup Language) (0) | 2022.09.20 |
---|---|
[Java] 추상클래스 abstract (0) | 2022.08.31 |
[Java] 객체 지향 언어 (0) | 2022.08.24 |
[Java] 접근 제한자(Access Modifier) (0) | 2022.08.22 |
[Java] getter/setter (0) | 2022.08.20 |