• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

클래스와 객체1(4)

21.06.24 23:26 작성 조회수 103

0

13:35 부분에 

Subject 클래스를 참조 자료형으로 사용하고 바로 생성자를 통해 인스턴스를 만드는 부분에

Public Student( ); {

       korea = new Subject();

      math = new Subject();

이렇게 코드를 써주셨는데, 앞에서 인스턴스를   public static void main() 식 안에서 만들었는데 왜 여기선 위와 같이 만든건가요?

답변 1

답변을 작성해보세요.

0

qazpoiu79님의 프로필

qazpoiu79

2021.10.22

과목에 관한 정보(data)를 담을 것을 Student class가 아니라,

별도의 class인 Subject class로 분리시켰지 않습니까?

 

그래서 Student class는 학생의 인적사항을 저장하는 객체이고, 성적은 별도의 객체은 Subject class로 새로운 instance를 생성하여 저장해야 합니다.

 

Student class에서의 main() 함수에선 Student(); 생성자를 실행해 James나 Lee 등의 Student class의 instance를  생성하는 것입니다.

 

이해가 용이하도록 도식화해봤습니다.

 

비유로 설명하자면, 학생의 인적사항기록부에는 학생의 성명과 식별자(ID)만 기재되는 서류묶음이고, 해당 학생의 성적은 성적기록부라는 별도 문건을 참조하라고 해당 학생의 성적이 기재된 쪽수만 기재한 것 입니다.

 

적절한 답변이 될지 모르겠습니다.