package 를 e_oop 라고 만들었다.
그리고 그 밑에 class를 다시 만들었다 이름은 : UserDefinedDataType
오늘의 주제 : 클래스를 배울 것이다.
사용자 정의 데이터 타입
- 데이터의 최종 진화 형태이다. ( 변수 -> 배열 -> 클래스 )
배열의 불편함으로부터 클래스가 생성이 된 것이다. 배열은 같은 타입의 데이터만 묶을 수가 있다. 이것을 해결하기 위해 클래스가 생성 된 것이다.
- 서로 다른 타입의 데이터를 묶어서 사용하는 것이다.
- 변수와 메서드로 구성할 수 있다.
변수 ( 1개의 변수에는 1개의 데이터만 저장이 가능했다. )
int kor;
int eng;
int math;
int sum ;
double avg ;
String name;
// -> 변수만 사용할때는 양이 많아진다.
배열은 같은 타입의 데이터만 여러개 저장이 가능했다.
int [] scores;
int sum2 ;
double avg2;
String name2 ;
---> class 로 만들어 보자
class Student{
int kor ;
int eng;
int math;
int sum ;
double avg;
String name;
int rank ;
int subsum;
int subavg;
1. main 메소드가 없는 class를 하나 만들기
package e_oop.score;
public class Student {
int kor;
int eng;
int math;
int sum;
double avg;
String name;
int rank ;
int subsum;
int subavg;
2. 선언하기
-> Student student ;
(int 는 뭐 double은 뭐 이런식으로 선언한것처럼 )
student = new Studnet () ; 객체생성 -> 설계도에 있는 애를 메모리에 올려서 사용하게 하는것 ( 인스턴스화)
Student 라는 타입의 student => class를 가져오는 것
참조형 타입의 변수이다.
기본값은 NULL
3. 사용하기
student.kor = 80;
참조연산자인 점을 사용해줌. 점을 찍으면 우리가 만들어준 변수들이 나옴 (class 안에) kor 이라는 변수에 값을 저장한 것.
student.eng = 90;
student.math = 60 ;
student.sum = student.kor + student.eng + student.math ;
student.avg = student.sum /3.0;
studetn.name = " 홍길동 " ;
4. 값을 읽어보고 싶다.
System.out.println(student.name ) ;
System.out.println(student.avg) ;
하위 패키지 만들기 : 점을 찍으면 됨 .
댓글
댓글 쓰기