Java Basic : day 8 - OOP: 생성자
constructor : 생성자
- 참조 : c언어의 structure
- 클래스명과 같은 메소드
- 리턴값이 없다
- Overloadding이 가능
- 클래스변수 생성시에 자동 호출
- 별도의 호출은 불가능하다 (1회용)
- 생략이 가능 (정의하지 않았어도 자바에서 자동으로 기본 생성자 생성해줌)
- 초기값 설정에 많이 사용됨
- 생성자는 오버로딩이 가능하다 (오버로딩으로 초기 필드 값을 지정할 수 있음)
- 생성자에 파라미터를 설정하여 내부의 멤버변수에 접근할 수 있다
* destructor : 소멸자
* - 자동호출
* - 자바에서는 따로 없음(Garbage collector가 담당)
public static void main(String[] args) {
MyClass2 cls = new MyClass2();
MyClass2 cls2 = new MyClass2(13);
MyClass2 cls3 = new MyClass2(13.2f);
}
}
class MyClass2{
private float number;
// 생성자
public MyClass2() {
System.out.println("MyClass2() 생성자호출");
}
// 생성자 오버로딩
public MyClass2(int i) {
System.out.println("MyClass2(int i) 생성자호출 ");
}
// 생성자의 파라미터로 클래스 멤버변수 값에 접근할 수 있다
// 생성자의 파라미터로 데이터를 가지고 들어오고
// this 예약어로 클래스 내부 변수에 접근하여 데이터를 넣을 수 있음
public MyClass2 (float number) {
this.number = number;
System.out.println("MyClass2 (float number) 생성자 호출");
System.out.println("number = " + this.number);
}
}