한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것
1.메서드 이름이 같아야한다
2.매개변수의 개수 또는 타입이 달라야한다
3.반환타입은 영향없다
보기1) 오버로딩X
int add(int a, int b) { return a+b;} int add(int x, int y) { return x+y;} ↓반환 타입은 영향없음 매개변수가 같으면 오버로딩X int add(int a, int b) { return a+b;} long add(int a, int b) {return (long)(a+b);} ↓오버로딩O long add(int a, long b) {return a+b;} long add(long a, int b) {return a+b;}
인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드'
인스턴스 생성시 수행할 작업에 사용
클래스이름(타입 변수명, 타입 변수명, ...) {
// 인스턴스 생성시 수행될 코드,
// 주로 인스턴스 변수와 초기화 코드를 적는다.
}
class Card {
...
Card() { // 매개변수 없는 생성자
// 인스턴스 초기화 작업
}
Card(String kind, int number) { // 매개변수 있는 생성자
// 인스턴스 초기화 작업
}
}
클래스이름(){} // 기본 생성자
Point(){} // Point클래스의 기본생성자