Over loading이란?
한 개의 클래스 내에 이름이 같은 메소드를 여러 개 선언하는 것
Over loading 의 성립 조건
매개변수의 갯수, type, 순서가 달라야 하며 반환형과는 관계 없음
Over loading 의 예시
public class Example {
private int a = 1;
private double b = 2.0;
private String c = "c";
public Example() {
System.out.println("모두 알 수 없음");
}
public Example(int a) {
System.out.println("a : " + a + "/ b, c는 알 수 없음");
}
public Example(double b) {
System.out.println("b : " + b + "/ a, c는 알 수 없음");
}
public Example(int a, String c) {
System.out.println("a : " + a + "c : " + c + "/ b는 알 수 없음");
}
}
public static void main(String[] args) {
Example ex1 = new Example();
Example ex2 = new Example(1);
Example ex3 = new Example(2.0);
Example ex4 = new Example(1, "가나다");
console
모두 알 수 없음
a : 1/ b, c는 알 수 없음
b : 2.0/ a, c는 알 수 없음
a : 1c:가나다/ b는 알 수 없음
-> 생성자의 overloading
같은 Example이라는 이름을 갖고 있지만 파라미터를 다르게 지정해 뒀기 때문에,
main method에서 호출될 때의 인자와 일대일 비교하여 호출된다
parameter 와 argument
종류 | 설명 |
parameter | 함수를 정의할 떄 사용되는 변수 |
argument | 함수가 호출될 때 넘겨지는 변수값 |
String (참조형 문자열 객체) 값 비교하기
String 객체를 연산자 == (같다) 로 비교하게 되면 저장된 주소의 값을 반환하여 비교하므로 equals() 를 사용