본문 바로가기
> 프로그래밍 언어/JAVA

[ch6-9,10] 클래스의 정의

by 자몽주스 2023. 1. 17.
728x90
반응형

클래스(3) - 설계도 / 데이터+함수 / 사용자 정의 타입

 

배열의 한계같은 종류밖에 저장할 수 없음

구조체: 여러 값을 묶은 것

구조체하고 배열하고의 다른점: 다른타입도 ok

클래스: 변수를(데이터) 함수와 같이 묶은 것

 

묶는 이유: 서로 관계가 있어서

사용자 정의 타입: 우리가 정의한 타입

3개의 변수를 하나로 묶은 것

 3개의 변수를 선언하는 대신에, 

하나의 객체를 생성하는 것으로 대신할 수 있음

Time은 세개의 변수를 

하나로 묶은 것이기 떄문에

왼쪽코드하고 오른쪽 코드는 

같은 코드가 됨

두번째 건 3개의 시간을 다루는 것이니까

Time객체를 3개 만들면

왼쪽 코드하고 오른쪽 코드가 같은 것이 된다

맨 아래건 객체 배열로 바꿀 수 있음

<그림을 통해서 코드를 비교해보기>

3개의 변수를 선언하면

3개의 저장공간이 생김

녹색 칸에 정의된 것처럼 

Time객체를 생성하게 되면

변수 3개가 생김(저장공간)

양쪽 그림을 비교해보면, 

참조변수는 차이가 있지만 

저장공간이 3개라는 점이 동일함

 

오른쪽이 더 간결하고 

오른쪽은 시/분/초가 강하게 묶여있다

 

만약, 12시 34분 56초를 저장하려면

왼쪽은 이렇게 저장

오른쪽은 참조변수를 사용해서 

저장공간에 접근

 

양쪽은 같은 코드이지만,

왼쪽 - 비객체지향적

오른쪽 - 객체지향적

728x90
반응형