#.개념
-객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드
#.선언 및 활용
-생성자는 객체가 생성되는 순간에 자동으로 호출하는 메소드로서, 객체에 필요한 초기화를 실행하는 코드
#.규칙
-생성자의 이름은 클래스 이름과 동일하게 작성
-여러 개 작성(오버로딩)할 수 있다.
-NEW를 통해 객체를 생성할 때 한번만 호출
-어떤 값도 리턴하지 않기 때문에 리턴 타입 지정할 필요가 없다.
#.ex
class Circle{
public Circle(){} //기본 생성자
}
Circle(int r, String n) -생성자
Circle ring = new Circle(10, "자바"); //ring의 radius를 10, 이름을 자바로
#.기본생성자
-매개변수와 실행코드가 없어 아무 일도 하지않고 단순 리턴하는 생성자 - 디폴트 생성자
-생성자 없는 클래스는 존재할 수 없다. 생성자가 없을 경우 컴파일러가 자동으로 기본 생성자를 생성
-생성자가 하나라도 존재하면 컴파일러는 기본 생성자를 삽입해주지 않음
#.this 레퍼런스
- 객체 자신에 대한 레퍼런스 / 현재 실행되고 있는 메소드에 속한 객체에 대한 레퍼런스
public Circle(int radius) {radius = radius}; //두개 radius모두 매개변수에 접근 -> 변경 불가
수정 -> this.radius(멤버 radius) = radius(매개변수 radius);
#.this()
-클래스 내에서 생성자가 다른 생성자를 호출할 때 사용
#.this사용시 주의
-반드시 생성자 코드에서만 호출 가능
-반드시 같은 클래스 내 다른 생성자를 호출할 때 사용
-반드시 생성자의 첫 번째 문장이 되어야 한다.
'JAVA' 카테고리의 다른 글
JAVA - static / non-static (0) | 2022.12.17 |
---|---|
JAVA - 접근지정자 (0) | 2022.12.16 |
JAVA - 객체지향 (0) | 2022.12.14 |
JAVA 예외처리 (0) | 2022.12.14 |
JAVA의 데이터 타입 (0) | 2022.12.14 |