Test/멘토씨리즈 자바

[멘토씨리즈 자바] pg.244~245

오류나면꽥꽥 2023. 5. 21. 23:31

1. 다음 빈칸에 알맞은 단어를 작성해 보세요.

클래스의 이름과 동일하고 반환 타입이 없는 특별한 메서드를 생성자 (이)라고 합니다.

 

 

2. 다음 문장이 맞으면 O표, 틀리면 X표 하세요.

생성자를 호출 할 때는 반드시 new 키워드를 사용해야 합니다. ( O )

매개변수가 1개인 생성자를 기본 생성자라고 부릅니다. ( X )

생성자를 코드로 명시하지 않으면 기본 생성자는 생략되어 있습니다. ( X )

 

 

3. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?

package section09;

class Computer{
	String brand;
	
	Computer(String name){
		brand = name;
	}
	void logo() {
		System.out.println("사랑해요 "+brand);
	}
}
public class PRACTICE_09_03 {
	public static void main(String[] args) {
		Computer computer1 = new Computer("삼송");
		computer1.logo();
	}
}

답:

사랑해요 삼송

 

 

4. 위 3번 코드에서 Computer 클래스의 brand 필드명을 name으로 변경하면, 다음 빈칸에 들어갈 코드는 무엇입니까?

class Computer{
	String name;
	
	Computer(String name){
		???
	}
}

???에 들어갈 답: this.name=name;

 

 

5. 다음 코드는 컴파일 에러가 발생합니다. 그 이유는 무엇이며, 어떻게 해결해야 할까요?

package section09;

class Book{
	String title;
	int pages;
	Book(String title, int pages){
		this.title=title;
		this.pages=pages;
	}
}
public class PRACTICE_09_05 {
	public static void main(String[] args) {
		Book b1=new Book("어린왕자",300);
		Book b2=new Book();
	}
}

답: 생성자 오버로딩을 한다.

class Book에 기본 생성자 추가

        Book(){

        }

'Test > 멘토씨리즈 자바' 카테고리의 다른 글

[멘토씨리즈 자바] pg.273~275  (0) 2023.05.21
[멘토씨리즈 자바] pg.223~225  (0) 2023.05.21
[멘토씨리즈 자바] pg.199  (0) 2023.05.21
[멘토씨리즈 자바] pg.176~177  (0) 2023.05.21
[멘토씨리즈 자바] pg.143  (0) 2023.05.21