생성자
Last updated
Last updated
public class Message {
private String sender;
//클래스에 생성자가 없으므로 기본 생성자가 자동 작성된다.
//public Message(){ }
}public class Message{
private String sender;
//명시적으로 생성자를 만들었으므로 기본 생성자가 자동 작성되지 않는다.
public Message(String sender){
this.sender = sender;
}
}public class Book {
private String name;
private String writer;
private int page;
private int price;
//생성옵션1 : 아무런 정보 설정 없이 생성(기본 생성자)
public Book(){}
//생성옵션2 : 책 이름만 설정하여 생성
public Book(String name){
this.name = name;
}
//생성옵션3 : 저자만 설정하여 생성
// - 생성옵션2와 형태,개수,순서 모두 같기 때문에 작성 불가
//public Book(String writer){...}
//생성옵션4 : 책 이름과 저자를 설정하여 생성
// - 개수가 다르므로 중복 정의 가능
public Book(String name, String writer){
this.name = name;
this.writer = writer;
}
//생성옵션 5 : 책 이름과 가격을 설정하여 생성
// - 생성옵션 1, 2와 개수가 다르고, 생성옵션 4와 형태가 다르므로 중복 정의 가능
public Book(String name, int price){
this.name = name;
this.price = price;
}
//생성옵션 6 : 책 가격과 이름을 설정하여 생성
// - 생성옵션 5와 동일하나, 순서가 다르므로 중복 정의 가능
// - 실제로 사용할 가능성은 낮음
public Book(int price, String name){
this.price = price;
this.name = name;
}
}public class Book {
private String name;
private String writer;
private int page;
private int price;
public Book(String name){
this.name = name;
this.writer = "작자 미상";
this.page = 0;
this.price = 0;
}
public Book(String name, String writer){
this.name = name;
this.writer = writer;
this.page = 0;
this.price = 0;
}
public Book(String name, String writer, int page){
this.name = name;
this.writer = writer;
this.page = page;
this.price = 0;
}
public Book(String name, String writer, int page, int price){
this.name = name;
this.writer = writer;
this.page = page;
this.price = price;
}
}public class Book {
private String name;
private String writer;
private int page;
private int price;
public Book(String name){
this(name, "작자 미상", 0, 0);
}
public Book(String name, String writer){
this(name, writer, 0, 0);
}
public Book(String name, String writer, int page){
this(name, writer, page, 0);
}
public Book(String name, String writer, int page, int price){
this.name = name;
this.writer = writer;
this.page = page;
this.price = price;
}
}