-
오버라이딩(overriding)과 오버로딩(overloading)spring.project.log 2022. 3. 18. 13:54
이전에 노션에 정리했던 내용을 끌고 오자면, 다음과 같다.
오버라이딩은 다른 무엇보다 더 중요한, 최우선시 되는 이라는 뜻이다.
슈퍼클래스를 상속받은 서브클래스에서 슈퍼클래스의 (추상)메소드를 같은 이름, 같은 반환 값, 같은 인자로 메소드 내의 로직들을 새롭게 정의하는 것. 이를 이용하면 하나의 슈퍼클래스를 상속받는 서브클래스들이 같은 이름에 다른 기능을 하는 메소드를 정의하고 사용하게끔 할 수 있다. 같은 이름이지만 구현하는 클래스마다 다른 역할을 하는 메소드를 정의하는 것이다.오버로딩 : 매개변수의 형태(타입)는 다르지만 이름이 같은 메서드를 매개변수의 형태와 개수만 다르게 나열할 수도 있다.
프로그래밍 언어에서 동일한 표현으로 여러 가지 의미를 가질 수 있는 것
메서드의 이름은 같고 매개변수의 개수나 타입이 다른 함수를 정의하는 것을 의미
→ 다양한 타입의 매개변수를 사용하기 위해 오버로딩을 할 수 있다.이 때는 초반이어서 레퍼런스를 저장하지 않았는데 지금은 다시 들어가서 확인해보고 어떤 맥락으로 쓰여졌는지 확인해보기 위해서 레퍼런스를 꼭 남긴다. 하지만 다시 공부하고 흔적 남기면 되니까 어쩔 수 없지 ~
오버로딩은 한 클래스에 있는 두 개 이상의 메서드가 메서드 이름은 같지만 매개 변수가 다를 때 발생한다.
오버라이딩은 두 메서드의 메서드 이름과 파라미터가 동일한 경우에 발생한다. 메서드 중 하나는 부모 클래스에 있고 다른 하나는 자식 클래스에 있다면, 오버라이딩을 통해 자식 클래스는 부모 클래스에 이미 존재하는 특정 메서드의 구현이 가능하다.Overloading occurs when two or more methods in one class have the same method name but different parameters.
Overriding occurs when two methods have the same method name and parameters. One of the methods is in the parent class, and the other is in the child class. Overriding allows a child class to provide the specific implementation of a method that is already present in its parent class.
오버라이딩
class Dog{ public void bark(){ System.out.println("woof "); } } class Hound extends Dog{ public void sniff(){ System.out.println("sniff "); } public void bark(){ System.out.println("bowl"); } } class OverridingTest{ public static void main(String [] args){ Dog dog = new Hound(); dog.bark(); } }
오버로딩
class Dog{ public void bark(){ System.out.println("woof "); } //overloading method public void bark(int num){ for(int i=0; i<num; i++) System.out.println("woof "); } }
ref
https://www.educative.io/edpresso/overloading-vs-overriding
Overloading vs. Overriding
Creator: Edpresso Team
www.educative.io
'spring.project.log' 카테고리의 다른 글
문자열 계산기 javascript.ver (0) 2022.04.10 [JAVA] 접근제어자, getter/setter (0) 2022.03.26 이넘(enum) (0) 2022.03.17 인터페이스(interface) (0) 2022.03.17 추상클래스(abstract class) (0) 2022.03.17