Java 클래스 #3

jjinny_0609·2023년 2월 10일
0

Java

목록 보기
13/31
  1. 생성자에 대한 설명을 맞는것에 O표, 틀린 것에 X표 하세요

① 객체를 생성하려면 생성자 호출이 반드시 필요한 것은 아니다. ( X )
② 생성자는 다른 생성자를 호출하기 위해 this()를 사용할 수 있다 ( O )
③ 생성자가 선언되지 않으면 컴파일러가 기본 생성자를 추가한다. ( O )
④ 매개 변수의 수, 타입, 순서가 다른 생성자를 여러 개 선언할 수 있다. ( O )

  1. 다음과 같이 Member 객체를 생성하고 싶습니다. 생성자에서 name 필드와 id 필드를 외부에서 받은 값으로 초기화할 수 있도록 Member 클래스를 작성해보세요.

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;
	}
}
  1. 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);

profile
뉴비 개발자 입니다. velog 주소 : https://velog.io/@jjinny_0609 Github 주소 :

0개의 댓글