코드네임 :
JAVA - 생성자 본문
[ 생성자 ]
- 클래스로부터 new 연산자로 객체를 생성할 때 호출되어 객체의 초기화를 담당
- 모든 클래스는 생성자를 포함해야함 (생성자가 없는 클래스 = 붕어빵을 찍을 수 없는 붕어빵 기계)
생성자의 주요 역할
객체 메모리 할당 및 객체 생성
[ 생성자 특징 ]
- 모든 클래스는 최소한 하나 이상의 생성자가 있음
- 생성자 이름은 클래스와 같음
- 반환타입이 존재하지 않음 (그러나 void와는 다르다)
< 기본 생성자 >
매개변수가 없음
클래스 내부에 생성자 선언을 생략한 경우 컴파일러가 기본생성자를 추가함
public Circle(){
~
}
< 매개변수가 있는 생성자 >
기본 생성자와 달리 생략 불가
클래스의 필드르 초기화하는데 사용
public Circle(int r){
radius = r;
}
[ this 키워드 ]
필드와 매개변수의 이름이 같은 경우 this.필드로 표현
public Korean(String name, String number){
this.name = name; // this.필드 = 매개변수
ssn = number; // 이렇게 필드랑 매개변수 이름 다르면 굳이 this 쓸 필요 없음
}
[ 생성자 오버로딩 ]
- 생성자도 넓은 의미로는 매개변수이므로 오버로딩 같음
- 매개변수 타입, 개수, 선언된 순서가 같은 경우, 매개변수 이름만 바꾸는 건 생성자 오버로딩이 아님
[ this() 코드 ]
- 생성자에서 자기 클래스 내부의 다른 생성자 호출
- 생성자 첫줄에서만 허용
public Korean() {
this("이자바", "12345");
} //this()로 중복 코드 호출 ( 교재 50p this() )
// this 쓰는 경우는 매개변수 이름이 필드이름과 완전히 동일한경우 this.필드로 표현함
public Korean(String name, String ssn) {
this.name = name;
this.ssn = ssn;
}
https://github.com/codenameVien/JAVA_Hongong/tree/main/chap04/src/sec03
JAVA_Hongong/chap04/src/sec03 at main · codenameVien/JAVA_Hongong
Contribute to codenameVien/JAVA_Hongong development by creating an account on GitHub.
github.com
'👾Android > JAVA' 카테고리의 다른 글
JAVA - 자바제어자 (static) (0) | 2024.05.06 |
---|---|
JAVA - 클래스 외부 구성요소 (package & 외부 클래스) (기말) (1) | 2024.05.06 |
JAVA - 클래스 (0) | 2024.04.04 |
JAVA - 다차원배열 / for~each 문 (0) | 2024.03.28 |
JAVA 2주차 (문자열과 1차원배열) (1) | 2024.03.21 |