[Java] Constructor(생성자 메서드)

yule_mu·2022년 4월 15일
0

JavaTPC

목록 보기
2/4

Constructor(생성자 메서드)

  • 객체를 생성할 때 사용되는 메서드
  • 객체 생성 후 객체의 초기화를 하는 역할 수행
  • 특징
    • 클래스 이름과 동이한 메서드
    • 메서드의 return type이 없다(void 아님)
    • public 접근 권한을 가진다.(단, private 생성자도 있음)
    • 생성자가 없을 때는 기본 생성자가 만들어 진다.
      기본 생성자는 public BookVO2() {}

main 부

import kr.tpc.BookVO2;

public class TPC12 {

	public static void main(String[] args) {
		BookVO2 b1=new BookVO2();
		
		BookVO2 b2=new BookVO2("자바", 20000, "길벗", 790);
		System.out.print(b2.title+"\t");
		System.out.print(b2.price+"\t");
		System.out.print(b2.company+"\t");
		System.out.println(b2.page);
	}
}

class 부

package kr.tpc;

public class BookVO2 {
	public String title;
	public int price;
	public String company;
	public int page;
	// default constructor method(원래는 생략)
	
	
	// 객체지향에서는 함수의 이름이 같아도 argument의 개수 or type이 다르면 서로 다른 함수로 인식해서 error가 발생하지 않는다.
	// default constructor method
	
    // # 1
    public BookVO2() {
		this.title="제목";
		this.price=00000;
		this.company="출판사";
		this.page=000;
	} // 앞에 내용들은 없어도 된다.
	//warn 생성자가 하나 만들어져 있으면 default 생성자는 자동으로 만들어지지 않는다!!!!
	//그렇기 때문에 바로 위에 constructor method 만드는 작업 해줘야 한다
    
	// # 2
	// constructor method의 Overloading
    public BookVO2(String title, int price, String company, int page) {
		// 초기화 작업
		this.title=title;
		this.price=price;
		this.company=company;
		this.page=page;
	}

}

#1은 b1에,
#2는 b2에 대응된다.
#1, #2가 모두 없을 경우(아무런 생성자가 없을 때), public BookVO2() {}라는 기본생성자가 생성된다.

#1이 있으면 b1이 돌아가고
#2가 있으면 b2가 돌아간다.

profile
Java 백엔드 개발자가 되고 싶습니다. 매일 공부한 기록을 올리며 반추합니다.

0개의 댓글