'자바기초'에 해당되는 글 61건

  1. 2007.11.30 자바공부-2.사용자정의 데이타형
자바에서는 생각할 수 있는 모든 것(이하 객체)을 형상화,구조화 할 수 있는 손쉬운 방법

이 있습니다.

그리고 이 손쉬운 방법을 통해 만들어진 객체를 프로그램에서 읽고,쓰고,고치고,객체로

하여금 일을 시키는 등 프로그래머가 원하는 것을 객체로부터 얻을 수 있습니다.

 예를들면 필자는 스타크래프트에 등장하는 질럿을 만들 수 있습니다.

그리고 태어나는 질럿으로 하여금 태어나는 동시에 질럿이 소리를 내게도 시킬수

있습니다. 다음은 이런 질럿을 형상화,구조화한 내용입니다.

 

 

             /**

             * 스타크래프트에 등장하는 질럿입니다.

             * 태어날 때 멋진 소리를 냅니다.

             */

             class Zealot {

                           Zealot() {

                                        sound();

                           }

                           void sound() {

                                        System.out.println(“My Life For Aiur”);

                           }

             }

 

예제 1-1

 

예제 1-1에서처럼 생각할 수 모든 것에 대해서 개념을 형상화 것을 데이터형이라고

합니다.

자바에서는 생각할 수 있는 모든 것에 대해서 프로그래머가 어떤 데이터형이라도 정의할 수

있습니다. 예제 1-1은 질럿이라는 것의 개념을 형상화해서 질럿 데이터형을 만든 것이라고

생각하면 무리가 없겠습니다.

 

 

사용자 정의 데이터형 만들기 I

 

자바에서는 사용자 정의 데이터형을 만들고자 할 때 사용하는 class라는 키워드가

있습니다. 자바에서 데이터형을 만들때는 예제 1-1에서 질럿을 만들때와 같은 방법으로

키워드 class로 적고 만들고자 하는 데이타형의 이름을 class키워드 옆에 나란히 쓰면

됩니다. 데이터형을 만들 때 데이터형의 이름을 적절하게 짓는 것이 아주 중요한데,

예제 1-1의 경우는 Zealot 이라는 이름이 적당할 것 같습니다.

사용자 정의 데이터형의 이름만으로 그 데이터형이 의미하는 바가 무엇인지를 파악할 수

있도록 이름을 짓는 일은 무척 중요한 일이 되기 때문입니다.

예제 1-1에서 붙혀진 이름 Zealot은 새롭게 만들어진 데이터형의 이름이 됩니다.

 

데이터형을 정의 할 때는 { 로 시작하여 }로 끝을 맺습니다.

class 키워드를 통해서 데이타형을 만들었을 때, 이를 "데이터형 이름" 클래스라고

부릅니다. 예제 1-1의 경우는 class 다음에 나타난 데이터형 이름이 Zealot 이므로

Zealot 클래스라고 부릅니다.

 

예제 1-1 Zealot 클래스는 질럿을 형상화 한 것이지만 실제로 이 Zealot 클래스가

가지는 가치는 거의 없습니다.

왜냐하면 현재의 Zealot 클래스로 만들어질 Zealot객체들이 할 수 있는 일이라고는

만들어 질 때 내 생명을 고향별 Aiur를 위해라고 화면에 출력하는 일 밖에 없기

때문입니다.

 

사용자 정의 데이터형 만들기 II

 

동네에 롯데리아가 새로 생겨서 아들놈하고 한번 갔었는데, 롯데리아에서 BigRib이라는

햄버거를 팔고 있더군요. BigRib 햄버거를 한번 만들어 보겠습니다.

 

 

             /**

             * 롯데리아에 파는 BigRib햄버거입니다.

             * 햄버거 가격에 대한 정보를 갖고 있습니다.

             */

class BigRib {

                           int price = 2500;                               // 햄버거 가격

                           int getPrice() {

                                        return price;

                           }

             }           

예제 1-2

 

BigRib 햄버거를 만들어 보았습니다.

BigRib 햄버거는 가격이 얼마인가요? BigRib햄버거에 대한 정보중 단연 으뜸의 정보는

값이 얼마나 할 것인지 하는 것일 테지요. BigRib 햄버거 클래스는 가격정보를 가지고

있고, 그 가격정보를 얻어낼수 있는 방법도 가지고 있습니다.

BigRib 햄버거는 가격정보를 자체적으로 갖고 있고 가격정보를 알려 줄 수 있는 기능을

갖고 있습니다. BigRib 햄버거를 그렇게 설계했느냐구요?

왜 그렇게 했냐하면 BigRib햄버거의 다른 특성보다도 값이 얼마인가가 중요하고 꼭 필요한

정보라고 판단했기 때문입니다. 완전히 제 맘입니다.

 

자바에서는 이처럼 생각 할 수 있는 모든 것을 만들 수 있으며 그 손쉬운 방법은 class라는 키워드를 이용하는 방법입니다.

Posted by
,