① 객체를 생성하려면 생성자 호출이 반드시 필요한 것은 아니다. ( X )
② 생성자는 다른 생성자를 호출하기 위해 this()를 사용할 수 있다 ( O )
③ 생성자가 선언되지 않으면 컴파일러가 기본 생성자를 추가한다. ( O )
④ 매개 변수의 수, 타입, 순서가 다른 생성자를 여러 개 선언할 수 있다. ( O )
3.Board 클래스의 생성자가 다음과 같이 오버로딩 되어있습니다. 생성자마다 중복 코딩된 부분이 있습니다. this()를 활용해서 중복 코드를 제거해보세요.
package ch06;
public class Board {
String title;
String content;
String writer;
String date;
int hitcount;
// 매개변수가 2개인 생성자 선언
Board(String title, String content){
this(title, content,"로그인한 회원아이디" , "현재 컴퓨터 날짜" , 0);
// this.title = title;
// this.content = content;
// this.writer = "로그인한 회원아이디";
// String date = "현재 컴퓨터 날짜";
// int hitcount = 0;
}
// 매개변수가 3개인 생성자 선언
Board(String title, String content, String writer){
this(title, content, writer , "현재 컴퓨터 날짜", 0);
// this.title = title;
// this.content = content;
// this.writer = writer;
// this.date = "현재 컴퓨터 날짜";
// int hitcount = 0;
}
// 매개변수가4개인 생성자 선언
Board(String title, String content, String writer, String date){
this(title, content, writer, date, 0);
// this.title = title;
// this.content = content;
// this.writer = "로그인한 회원아이디";
// this.date = date;
// int hitcount = 0;
}
// 여기있는 생성자의 초기화 구문을 호출해서 사용
Board(String title, String content, String writer, String date, int hitcount){
this.title = title;
this.content = content;
this.writer = "로그인한 회원아이디";
this.date = date;
this.hitcount = hitcount;
}
}
Board 클래스가 위와 같이 선언되어 있을 경우 Board 객체를 생성하는 네 가지 방법을 모두 기술해보세요.
// 매개변수가 2개인 생성자 호출
① Board board1 = new Board("제목", "내용");
// 매개변수가 3개인 생성자 호출
② Board board2 = new Board("제목", "내용", "홍길동");
// 매개변수가 4개인 생성자 호출
③ Board board3 = new Board("제목", "내용", "홍길동", "2023-02-10");
// 매개변수가 5개인 생성자 호출
④ Board board4 = new Board("제목", "내용", "홍길동", "2023-02-11", 0);