ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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으로 그려보면







    반응형
Designed by Tistory.