컴퓨터공학 💻 도서관📚

Part2. 2-9 참조 자료형 변수 본문

✅🌲강의 복습 노트/패캠 JavaSpring 강의,코드 복습

Part2. 2-9 참조 자료형 변수

들판속초록풀 2024. 12. 17. 19:23

 

참조 자료형은 객체 타입의 자료형이다. 그래서 클래스형으로 변수를 선언한다

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

참조 자료형을 사용할 때new키워드를 사용해 해당 변수에 대해 생성하여야 함  
(String 클래스는 예외적으로 생성하지 않고 사용할 수 있음)

 

 

더 효율적인 OOP(객체지향 프로그래밍)를 위해서는 학생, 과목 클래스를 따로 선언하는게 좋다
학생에 따라 듣는 과목의 개수와 종류가 다를 수 있기 때문이다 (ex. 대학생)

 

 

package ch09;

public class Student {
	
	int studentId;      // identity : 신원
	String studentName;
	
	Subject korea;      // Subject 참조 자료형
	Subject math;
	
	public Student(int studentId, String studentName) {
		this.studentId = studentId;
		this.studentName = studentName;
		
		korea = new Subject();      // new 키워드로 변수 생성
		math = new Subject();
	}
	
	
	public void setKoreaSubject(String name, int score) {    // set : 설정하다
		korea.subjectName = name;       // Subject 클래스 korea 변수에 값 대입
		korea.score = score;
	}
	
	public void setMathSubject(String name, int score) {
		math.subjectName = name;
		math.score = score;
	}
	
	public void showStudentSocre() {      // show, print
		int total = korea.score + math.score;    // int형 변수 total
		System.out.println(studentName +  " 학생의 총점은 " + total + "점 입니다." );
		
	}
}
package ch09;

public class Subject {
	String subjectName;
	int score;
	int subjectID;
}
package ch09;

public class StudentTest {

	public static void main(String[] args) {
		
		Student studentLee = new Student(100, "Lee");
		studentLee.setKoreaSubject("국어", 100);
		studentLee.setMathSubject("수학", 95);
		
		
		Student studentKim = new Student(101, "Kim");
		studentKim.setKoreaSubject("국어", 80);
		studentKim.setMathSubject("수학", 99);
		
		studentLee.showStudentSocre();
		studentKim.showStudentSocre();
	}

}
Comments