코딩 기록들
[Java Programming] 7.1 메소드 오버로딩 본문
자바에서 작성하는 변수나 메소드, 클래스, 인스턴스, 생성자 등은 유일한 이름으로 구분해야함 ( 변수 중복선언, 메소드 중복선언은 할수없음)
만약, 강제로 선언하면 아래와같은 에러발생
Duplicate field 클래스명.변수명
Duplicate method 메소드명() in type 클래스명
단, 메소드 오버로딩 기법으로 동일한 이름의 메소드를 정의하고 사용할 수 있음
메소드오버로딩
- 같은이름의 메소드를 여러개 만들 수 있음)
- 클래스 내에 같은 이름의 메소드를 여러개 선언하는 것
기준 : 1. 메소드 명 동일, 2. 파라미터의 개수 / 파라미터의 타입 / 순서 중 하나가 달라야 함 (리턴타입은 무관)
생성자 오버로딩
- 생성자도 메소드이기 때문에 오버로딩이 가능함
- 매개변수를 달리하는 생성자를 여러개 선언하는것 (매개변수의 타입, 개수, 순서 중 하나이상 다르개 선언)
- 클래스 내에 생성자를 정의할경우 FruitSeller는 파라미터가 없는 new FruitSeller();생성자는 호출할 수 없음(기본생성자는 자동으로 만들어지지 않기 때문) -> 기본생성자 호출이 필요할 경우, 생성자 오버로딩을 이용해 기본 생성자를 만들어 사용할 수 있음
public FruitSeller() {
this.money = 10000;
this.fruitStock = 4;
}
// 단, 이렇게 사용하면 값이 고정이 됨
- 생성자 : 파라미터 개수가 적은것에서 많은거를 호출하면됨
단, 호출시 this.~~ 로 쓰는게 아닌, this(파라미터); 로 사용함
** 생성자 내부에서 다른 생성자를 호출할 땐, 가장 윗줄에 써야됨
'Java' 카테고리의 다른 글
[Java Programming] 8.2 다형성 (메소드 오버라이딩) (0) | 2024.01.26 |
---|---|
[Java Programming] 8.1 상속 (2) | 2024.01.26 |
[Java Programming] 7.4 배열 (0) | 2024.01.26 |
[Java Programming] 7.3 String Concatenation, String Buffer (0) | 2024.01.25 |
[Java Programming] 7.2 String (1) | 2024.01.25 |