컴퓨터는 잘못이 없다..

[JAVA]퀴즈3_객체가 매개변수인 생성자 사용해보기 본문

공부/JAVA

[JAVA]퀴즈3_객체가 매개변수인 생성자 사용해보기

도토리까꿍v 2020. 11. 28. 19:52
Contents 접기

[퀴즈]

Computer, Cpu, HardDisk, Memory 클래스를 활용하여

게임을 하고 이메일을 보내보시오.

 

Computer.java

package test.mart;

public class Computer {
	//필드
	private Cpu cpu;
	private Memory memory;
	private HardDisk hardDisk;
	
	//생성자
	public Computer(Cpu cpu, Memory memory, HardDisk hardDisk) {
		this.cpu = cpu;
		this.memory = memory;
		this.hardDisk = hardDisk;
	}
	
	//메소드
	public void playGame() {
		System.out.println("게임을 해요!");
	}
	
	public void sendEmail(String addr) {
		System.out.println(addr + "이라는 주소로 이메일을 보내요!");
	}

}

 

Cpu.java

package test.mart;

public class Cpu {
	
}

 

HardDisk.java

package test.mart;

public class HardDisk {

}

 

Memory.java

package test.mart;

public class Memory {

}

 

 

[퀴즈답]

package test.main;

import test.mart.Computer;
import test.mart.Cpu;
import test.mart.HardDisk;
import test.mart.Memory;

public class MainClass09 {
	
	public static void main(String[] args) {
		
		/*
	프로그래밍의 목적
	test.mart 패키지 안에 있는 클래스를 활용해서...
	1. 게임을 한다.
	2. oli999@naver.com으로 이메일을 보낸다.
		 */
		String addr = "oli999@naver.com";
		
		
		//cpu, hardDisk, memory 객체 생성
		Cpu cpu = new Cpu();
		HardDisk hardDisk = new HardDisk();
		Memory memory = new Memory();
		
		//cpu, hardDisk, memory객체를 인자로 하는 Computer객체 생성 
		//Computer 클래스에는 매개변수가 있는 생성자가 이미 선언되어있어 
        //디포트 생성자를 명시적으로 써주지 않는이상 디포트 생성자가 호출되지 않는다.
		//즉, Computer c1 = new Computer()로는 객체 생성을 하지 못한다. 
        //무조건 인자를 넘겨주어야함 
		Computer c1 = new Computer(cpu, memory, hardDisk);
		c1.playGame();
		c1.sendEmail(addr);
		
		//위의 3줄은 아래와 같이 표현할 수도 있다.
		Computer c2 = new Computer(new Cpu(), new Memory(), new HardDisk());
		c2.playGame();
		c2.sendEmail(addr);
		
		
	}
	

}

 

[실행결과]

게임을 해요!
oli999@naver.com이라는 주소로 이메일을 보내요!
게임을 해요!
oli999@naver.com이라는 주소로 이메일을 보내요!
Comments