- 생성자(Constructor)
- Alt + Shift + S / O 생성자 자동 생성 단축키
- 클래스를 사용하여 인스턴스를 생성할 때 호출되는 메서드 형태
- 주로 인스턴스 변수를 초기화하는 용도 또는 인스턴스 생성 시 초기에 수행할 작업 기술
- 기본생성자(Default 생성자)
- 메서드와 차이점
- 선언부에 리턴 타입이 없음(리턴값이 없는게 아니라 리턴타입을 기술하지 않음)
- 생성자 이름이 클래스명과 동일함
- 개발자가 생성자를 하나도 정의하지않으면 컴파일러에 의해 자동으로 기본생성자 생성
- 단, 생성자를 하나라도 정의할 경우 기본 생성자는 자동 생성되지 않는다
- 파라미터가 없는 생성자와 파라미터가 있는 생성자 모두 정의 가능(= 메서드와 동일)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//<생성자 정의 기본 문법>
//[접근제한자] 클래스명([파라미터변수선언..]){
// 생성자 호출시점(인스턴스 생성 시점) 에 수행할 작업들 (=인스턴스 변수 초기화 등)
//}
class Student{
//클래스 내에서 별도의 생성자를 정의하지 않으면
// 자바 컴파일러에 의해 기본으로 자동으로 생성된다
// public Student() { // 기본 생성자 형태
// };
// 직접 기본 생성자를 정의하여 인스턴스 변수를 초기화하는 경우
public Student() {
// 생성자 내에서 인스턴스 변수 초기화 가능함
// => 인스턴스 생성 시 생성자가 호출되면 자동으로 초기화가 수행되므로
// 모든 Student 클래스의 인스턴스는 시작 시 동일한 값을 갖는다.
id = 20201111;
name = "홍길동";
}
int id;
String name;
}
|
cs |
'Language > Java' 카테고리의 다른 글
this (0) | 2020.05.28 |
---|---|
파라미터 생성자 (0) | 2020.05.28 |
Pass by value & Pass by reference (0) | 2020.05.28 |
접근제한자 (Access Modifier = 접근제어자) (0) | 2020.05.28 |
가변인자 (0) | 2020.05.27 |