생성자란?
생성자는 객체가 생성될 때 자동으로 호출되는 특수 목적의 멤버함수로 객체의 초기화를 위해 사용된다.
생성자의 특징
- 생성자의 이름은 클래스 이름과 동일해야 합니다.
- 생성자는 다른 멤버함수(메소드)와는 다르게 리턴 타입이 없습니다.
- 생성자는 객체가 생성될때 자동으로 한번 호출됩니다.
- 생성자는 매개변수 조건에 따라 여러개를 작성할 수 있습니다. (오버로딩)
- 생성자는 클래스에 최소 1개는 있어야 하며, 생성자 코드가 없을 경우 컴파일러가 기본생성자를 자동으로 생성합니다.
- (주의할점은, 생성자 코드가 1개라도 작성되어 있다면, 컴파일러는 기본생성자가 없다고 하더라도 기본생성자를 자동으로 생성하지 않습니다.)
생성자의 종류
생성자에는 기본 값을 초기화시켜주는 기본 생성자와 매개변수를 가진 생성자가 있다.
이 때 만드는 객체에 따라 매개변수 값을 정하고 인스턴스를 생성할 수도 있다. 매개변수를 정하지 않고 기본생성자를 호출해서 객체를 만든다면 기본값은 null로 지정된다.
public class Book {
String title;
int price;
public Book() { } // 기본생성자
public Book(String title, int price) { // 매개변수를 가진 생성자
this.title = title;
this.price = price;
}
public void showPrice() {
System.out.println(title + "의 가격은 " + price + "원 입니다");
}
}
ex) 기본생성자와 매개변수 생성자
public class HelloWorld {
public static void main(String[] args) {
Book b1 = new Book(); // 객체생성 - 기본생성자 호출됨
Book b2 = new Book("국어책", 3000); // 객체생성 - 매개변수를 가진 생성자 호출됨
b1.showPrice();
b2.showPrice();
}
}
매개변수 생성자와 기본 생성자를 사용해서 만든 인스턴스
'언어 > Java' 카테고리의 다른 글
업캐스팅 , 다운캐스팅이란? (0) | 2024.09.25 |
---|---|
추상클래스와 interface 의 차이? (0) | 2024.09.23 |
Java 의 기본 . Class (0) | 2024.09.23 |
getter 와 setter 란? (0) | 2024.09.23 |
객체 지향프로그래밍이란? (0) | 2024.09.19 |