Java

[Java] 참조 자료형 변수

인생은단짠단짠 2022. 9. 21. 16:31

 

참조 자료형

변수의 자료형은 2가지로 나뉩니다.

 

참조자료형은 클래스 형으로 변언을 합니다.

기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름니다.

참조 자료형을 사용 할때는 해당 변수에 대해 생성하여야 합니다. (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음)

 

 

참조 자료형 정의하여 사용하기

  • 학생이 수강한 과목들에 대한 성적을 산출하기 위한 경우 학생 클래스 속성에 과목이 모두 있으면 불합리
  • 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 Subject 클래스를 활용하여 수강한 과목들의 변수의 타입으로 선언

 

 

학생.java

package ch09;

public class Student {
	int studentId;
	String studentName;
	
	Subject korea;
	Subject math;
	
	Student ( int studentId, String studentName){
		this.studentId = studentId;
		this.studentName=studentName;
		
		korea = new Subject();
		math = new Subject(); 
	}
	
	public void setKoreaSubject( String name, int score ) {
		korea.subjectName = name;
		korea.score = score;
		
	}
	
	public void setMathSubject( String name, int score ) {
		math.subjectName = name;
		math.score = score;
	}
	
	public void showScoreInfo() {
		int total = korea.score + math.score;
		System.out.println( studentName + "학생의 총점은" + total + "점 입니다.");
	}
}

과목.java

package ch09;

public class Subject {

	String subjectName;
	int score;
}

성적.java

package ch09;

public class SubjectTest {

	public static void main(String[] args) {
		
		Student Lee = new Student ( 100, "Lee");
		Lee.setKoreaSubject("국어", 100);
		Lee.setMathSubject("수학", 99);
		
		Student Kim = new Student ( 200, "Kim");
		Kim.setKoreaSubject("국어", 50);
		Kim.setMathSubject("수학", 40);
		
		Lee.showScoreInfo();
		Kim.showScoreInfo();
	}

}

 

참조 자료형 변수를 사용하는 경우, 대부분 생성자에서 많이 생성합니다. 

 

'Java' 카테고리의 다른 글

[Java] this  (0) 2022.09.21
[Java] 접근 제어 지시자 / 정보 은닉  (0) 2022.09.21
[Java] 객체 구현  (0) 2022.09.21
[Java] 제어문  (0) 2022.09.20
[Java] 자바의 연산자들  (0) 2022.09.19