Programming Language/Java
[JAVA] 클래스의 정의
BS Kwak
2021. 7. 13. 14:15
클래스의 정의
클래스의 정의는 크게 3가지로 나눌 수 있다.
(1) 설계도 (2) 데이터 +함수 (3) 사용자 정의 타입
(1) 설계도
말그대로 설계도.. "https://bskwak.tistory.com/219" 참고
)2) 클래스 == 데이터 + 함수
※ 배열 vs 구조체
더보기
배열은 같은 type만 묶을 수 있고
구조체는 다른 type도 묶을 수 있음
구조체에서 좀 더 발전(?)된 형태가 클래스라 할 수 있음
클래스 == 구조체(다양한 type 변수) + 함수(메서드)
(3) 사용자 정의 타입
원하는 타입을 새로 만듦 - 예를 들면 시간 같은거?
/*1*/
int hour;
int min;
int sec;
/*2*/
int hour1, hour2, hour3;
int min1, min2, min3;
int sec1, sec2, sec3;
/*3*/
int[] hour = new int[3];
int[] min = new int[3];
int[] sec = new int[3];
class 로 시간에 대한 "hour, minute, second"를 하나로 묶어서 코드를 써보면 다음과 같다.
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();
코드가 훨~씬 간결해지고 시분초가 하나로 묶이기 때문에 이전 코드처럼 따로 분리되는 현상이 사라짐
이전 코드 : 비 객체 지향 코드
이후 코드 : 객체 지향적 코드 (관련된 값들을 묶을 수 있고 간결해짐)
하는 일의 차이는 없지만, JAVA와 같은 객체 지향 언어에서는 이후 코드가 적합