- 클래스란?
- 설계도
- 데이터 + 함수
- 사용자 정의 타입
📌 1. 설계도
클래스의 정의 클래스란 객체를 정의해 놓은 것
클래스의 용도 클래스는 객체를 생성하는데 사용된다
객체의 정의 실제로 존재하는 것. 사물 또는 개념
객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다르다
클래스는 설계도 객체는 제품이다
📌 2. 클래스 == 데이터 +함수
✔ 변수 : 하나의 데이터를 저장할 수 있는 공간
✔ 배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간
✔ 구조체 : 서로 관련된 여러 데이터(종류 관계x)를 하나로 저장할 수 있는 공간(관계있는 변수들 모임)
✔ 클래스 : 클래스 데이터와 함수의 결합(구조체+함수)
📌 3. 사용자 정의 타입
사용자 정의 타입 - 원하는 타입을 직접 만들 수 있다.
1번
int hour;
int minute;
int second;
2번
int hour1, hour2, hour3; //3개의 시간 변수 선언
int minute1, minute2, minute3; //3개의 분 변수 선언
int second1, second2, second3; //3개의 초 변수 선언
3번
int[] hour = new int[3]; // 시간끼리 묶인 길이가 3인 배열
int[] minute = new int[3]; // 분끼리 묶인 길이가 3인 배열
int[] second = new int[3]; // 초끼리 묶인 길이가 3인 배열
👉 위처럼 변수와 배열을 생성한다면 시간, 분, 초는 각각 묶인다
그러나, 아래와 같이 클래스를 생성하게 하게되면 위에 코드를 아래처럼 쓸 수 있다
클래스 선언
class Time {
int hour;
int minute;
int second;
}
클래스 선언 후 1번
Time t = new Time();
클래스 선언 후 2번
Time t1 = new Time();
Time t2 = new Time();
Time t3 = new Time();
클래스 선언 후 3번 (시간끼리 객체 배열로 변경)
Time[] t = new Time[3];
t[0] = new Time();
t[1] = new Time();
t[2] = new Time();
✔ 이렇게 해준다면 3개의 변수를 묶지 않았을 때 보다 코드가 더 간결해지고, 시, 분, 초가 따로따로 묶일 일이 없어진다👍
(처음 1,2,3번처럼 비 객체지향적인 코드이고, 클래스를 선언하고 작성한 코드는 객체지향적인 코드이다)