객체 & 생성자 의 관계

박영준·2023년 7월 26일
0

Java

목록 보기
108/112

Book 엔티티

@Entity
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 + "원 입니다");
	}
}    

HelloWorld 클래스 (main 메서드)

public class HelloWorld {
	public static void main(String[] args) {

		Book b1 = new Book();                 // 객체 생성 - 기본 생성자 호출됨
		Book b2 = new Book("국어책", 3000);   // 객체 생성 - 매개변수를 가진 생성자 호출됨
		
		b1.showPrice();
		b2.showPrice();
	}
}

Book 클래스를 다른 클래스에서 사용하고 싶다면, new 연산자를 통한 객체 생성으로 해당 객체(Book)를 호출할 수 있다.
이를 인스턴스화라고도 한다.

그리고 HelloWorld 클래스에 해당 Book 객체를 생성하는 것은
Book 객체에서의 생성자를 호출하는 것이다.

생성자의 역할은 객체의 초기화를 하기 위함인데,

  • 기본 생성자의 경우 : 가지고 있는 매개변수가 없으므로 null 값이 나오게 된다.
  • 매개변수를 가진 생성자의 경우 : "국어책", 3000 이라는 매개변수로 Book 엔티티의 필드값을 초기화하게 된다. 따라서 "국어책", 3000 을 출력한다.

참고: 자바 - 생성자의 목적, 특징, 사용법

profile
개발자로 거듭나기!

0개의 댓글