일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 패스트캠퍼스
- java
- 디자인패턴
- linux
- js
- 디자인
- 자바연습문제
- 패스트캠퍼스후기
- 국비
- 자바예제
- 패캠챌린지
- 자바기본
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- java기초
- 데이터베이스
- 웹
- 자바기초
- 직장인인강
- 재택근무
- String
- DesignPattern
- 자바
- 리눅스
- DB
- Spring
- javabasic
- ncs
- 직장인자기계발
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 스프링
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 19일차 본문
참조 자료형 변수
변수의 자료형으로 기본 자료형에 int, long, float, dobule등이 있고
참조 자료형으로 String, Date, Student 등이 있다.
참조 자료형 변수는 클래스형으로 변수를 선언한다.
기본 자료형은 사용하는 메모리 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다르다.
참조 자료형을 사용할 때에는 해당 변수에 대해 생성해야 한다.(String 클래스는 예외적으로 생성하지 않고 사용할 수 있음)
그렇다면 참조 자료형을 정의하여 사용하려면 어떻게 해야할까?
예를 들어 학생이 수강한 과목들에 대한 성적을 산출하기 위한 경우 학생 클래스 속성에 과목이 모두 있으면 너무 비효율적이다.
그래서 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 Subject 클래스를 활용하여 수강한 과목돌의 변수 타입으로 선언하면 된다.
그래서 학생 클래스에는 학번, 학생 이름, 국어 과목, 수학 과목 이렇게 넣으면 되고
과목 클래스에는 과목 이름, 과목 점수를 넣으면 매우 효율적으로 코딩을 할 수 있다.
아래 코드를 보면 Student 클래스 안에 int studentId와 String studentName가 맴버변수로 있다.
그런데 Subject korea와 Subject math라는 맴버 변수도 볼 수 있다.
애초에 Studnet 클래스 안에 과목 이름과 과목 점수를 넣지 않기 위해 Sujbect 클래스를 만들고 이를 참조하여 korea와 math 라는 변수를 선언함을 볼 수 있다.
이렇게 자기가 원하는 클래스를 객체로 선언하여 사용할 수 있다.
public class Student {
int studentID;
String studentName;
Subject korea;
Subject math;
public Student(int id, String name) {
studentID = id;
studentName = name;
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 showStudentSocre() {
int total = korea.score + math.score;
System.out.println(studentName + " 학생의 총점은 " + total + "점 입니다." );
}
}
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 21일차 (0) | 2022.02.13 |
---|---|
패스트캠퍼스 챌린지 20일차 (0) | 2022.02.12 |
패스트캠퍼스 챌린지 18일차 (0) | 2022.02.10 |
패스트캠퍼스 챌린지 17일차 (0) | 2022.02.09 |
패스트캠퍼스 챌린지 16일차 (0) | 2022.02.08 |