20210804) 생성자 - 메소드 오버로딩(Overloading)
새 프로젝트 만들기
Person
package method_Overloading;
public class Person {
// 메소드 이름은 같지만 매개변수가 다를 때 오버로딩
// 주의 : 오버라이딩이랑 다른 개념임
public void greet() {
System.out.println("안녕?!");
}
public void greet(String name) {
System.out.println("안녕?!" + name + "야");
}
}
App
package method_Overloading;
public class App {
public static void main(String[] args) {
Person p1 = new Person();
p1.greet();
p1.greet("펭수");
}
}
Person에 추가
public void greet(int height) {
if(height > 185) {
System.out.println("우와 너 키 진짜 크다!");
}
System.out.println("안녕?!");
}
public void greet(String name, int height) {
if(height > 185) {
System.out.println("우와 너 키 진짜 크다!");
}
System.out.println("안녕?! " + name);
}
App
p1.greet();
p1.greet("펭수");
p1.greet(190);
p1.greet("라이언", 199);
System.out.println();
같은 이름의 메소드들이 오버로딩 됨
오버라이딩(Overriding) vs 오버로딩(Overloading)
부모클래스로부터 상속받은 메소드를 자식 클래스에서 재정의 하는 것을 오버라이딩이라고 한다. 상속받은 메소드를 그대로 사용할 수도 있지만, 자식 클래스에서 상황에 맞게 변경해야하는 경우 오버라이딩할 필요가 생긴다.
오버라이딩의 조건
오버라이딩은 부모 클래스의 메소드를 재정의하는 것이므로, 자식 클래스에서는 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 값이 모두 같아야 한다.@Override
오버로딩(Overloading)
자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다.오버로딩의 조건
메소드의 이름이 같고, 매개변수의 개수나 타입이 다를 때Author And Source
이 문제에 관하여(20210804) 생성자 - 메소드 오버로딩(Overloading)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@galduck/20210804-생성자-메소드-오버로딩Overloading저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)