-
8일 차 시험(깊은 복사, 얕은 복사)삼성SDS_멀티캠퍼스/Java 2015. 9. 16. 16:57반응형
class Score {
private int eng;
private int math;
private int lang;
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getLang() {
return lang;
}
public void setLang(int lang) {
this.lang = lang;
}
@Override
public String toString() {
return "Score [eng=" + eng + ", math=" + math + ", lang=" + lang + "]";
}
public Score() {
eng = 90;
math = 80;
lang = 70;
}
public Score(int eng, int math, int lang) {
setScore(eng, math, lang);
}
public void setScore(int i, int j, int k) {
this.eng = i;
this.math = j;
this.lang = k;
}
}
--------------------------------------------------------------------------
class Student {
private String name;
private Score score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Score getScore() {
return score;
}
public void setScore(Score score) {
this.score = score;
}
@Override
public String toString() {
return "Student [name=" + name + ", score=" + score + "]";
}
public Student() {
name = "박성욱";
score = new Score();
}
public Student(String name, Score score) {
this.score = new Score();
this.score.setEng(score.getEng());
this.score.setLang(score.getLang());
this.score.setMath(score.getMath());
}
public void setStudent(String name, Score score) {
// Circle cir3 = new Circle();
// cir3.getX().setX(20);
this.score.setEng(score.getEng());
this.score.setLang(score.getLang());
this.score.setMath(score.getMath());
this.name = name;
}
}
---------------------------------------------------------------------------------------------import java.util.Scanner;public class Test6 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int i, j, k;System.out.println("점수를 입력하세요");i = scan.nextInt();System.out.println("점수를 입력하세요");j = scan.nextInt();System.out.println("점수를 입력하세요");k = scan.nextInt();Score score = new Score(i, j, k);Student stu = new Student();Student stu2 = new Student("박성욱", score);stu2.setName("박성성욱");System.out.println(stu);System.out.println(stu2);System.out.println();score.setEng(90);score.setLang(80);score.setMath(100);System.out.println(stu);System.out.println(stu2);System.out.println();System.out.println(stu);System.out.println(stu2);}}깊은 복사를 통해서직접 score에 점수를 기입해도점수는 본인이 입력한 값만 들어가게 되었다.오늘 공부한 내용을 Class Diagram으로 그려보면반응형'삼성SDS_멀티캠퍼스 > Java' 카테고리의 다른 글
9일 차 생성자의 정적변수 접근 (0) 2015.09.17 9일 차 정적변수 (0) 2015.09.17 8일 차 중간점검(생성자) (0) 2015.09.16 8일 차 생성자 하나 만들어보기 (0) 2015.09.16 8일 차 생성자 생성시에 유의할 점 & 팁 (0) 2015.09.16