변수의 자료형에는 기본 자료형과 참조 자료형이 있다.
참조 자료형 (String,Date,Student ...)
- 클래스형으로 변수를 선언
- 참조 자료형의 크기는 참조하는 자료형에 따라 다름
- 참조 자료형을 사용할때는 해당 변수에 대해 생성(new)해야함. (ex : Student student = new Student() , 예외 String 클래스 )
🍫 참조 자료형 정의하여 사용해보기
Subject.java
package ch09;
public class Subject {
String subjectName;
int score;
int subjectId;
}
Student.java
package ch09;
public class Student {
int studentId;
String studentName;
//참조 변수
Subject korea;
Subject math;
public Student() {}
public Student(int studentId, String studentName) {
super();
this.studentId = studentId;
this.studentName = studentName;
this.korea = new Subject(); // 참조변수 선언
this.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 toal = korea.score + math.score;
System.out.println(studentName+"학생의 총점은"+toal+"입니다.");
}
}
SubjectTest.java >> main
package ch09;
public class SubjectTest {
public static void main(String[] args) {
Student student = new Student(100, "홍당무");
student.setKoreaSubject("국어", 100);
student.setMathSubject("수학", 99);
student.showScoreInfo();
Student studentKim = new Student(101, "김철수");
studentKim.setKoreaSubject("국어", 70);
studentKim.setMathSubject("수학", 50);
studentKim.showScoreInfo();
}
}
결과값
홍당무학생의 총점은199입니다.
김철수학생의 총점은120입니다.
'BackEnd > JavaProgram' 카테고리의 다른 글
[ JAVA ] this 레퍼런스 (0) | 2023.01.30 |
---|---|
[ JAVA ] 접근 지정자와 캡술화, 정보 은닉 (1) | 2023.01.30 |
[ JAVA ] 오버로딩(Overloading)과 오버라이딩(Overriding) (1) | 2023.01.30 |
[ JAVA ] 인스턴스 생성과 힙 메모리(heap memory) / 생성자 구현 (0) | 2023.01.29 |
[ JAVA ] 객체 지향 프로그래밍이란 ? 클래스 / 메서드 (0) | 2023.01.29 |