Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[JAVA]퀴즈3_객체가 매개변수인 생성자 사용해보기 본문
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이라는 주소로 이메일을 보내요!
'공부 > JAVA' 카테고리의 다른 글
[JAVA]클래스 메소드 생성하고 사용해보기(메소드만들기, 메소드의 리턴타입, 매개변수 확인하는 법) (0) | 2020.11.28 |
---|---|
[JAVA]퀴즈2_static자원,non-static자원 사용해보기 (0) | 2020.11.28 |
[JAVA]퀴즈1_생성자,setter로 필드에 값을 대입해보자. (0) | 2020.11.28 |
Comments