오버로딩,생성자

윤주영·2024년 10월 28일

오버로딩 ( N : 1 , 메서드 : 메서드이름)

한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것

오버로딩이 성립하기 위한 조건

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;}

생성자

인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드'
인스턴스 생성시 수행할 작업에 사용

  • 이름이 클래스 이름과 같아야한다.
  • 리턴값이 없다.(void 안붙임)
  • 모든 클래스는 반드시 생성자를 가져야 한다.
클래스이름(타입 변수명, 타입 변수명, ...) {
	// 인스턴스 생성시 수행될 코드,
	// 주로 인스턴스 변수와 초기화 코드를 적는다.
}

class Card {
	...
	Card() { // 매개변수 없는 생성자
		// 인스턴스 초기화 작업
	}
	Card(String kind, int number) {	// 매개변수 있는 생성자
		// 인스턴스 초기화 작업
	}
}

기본 생성자

  • 매개변수가 없는 생성자
  • 생성자가 하나도 없을 때만, 컴파일러가 자동추가
클래스이름(){}	// 기본 생성자
Point(){}	// Point클래스의 기본생성자
profile
반갑습니다.

0개의 댓글