Contents

조회 수 659 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
book_7244.png


2.2.4 사용자 정의 데이터 타입 테스트

앞에서 만든 Person 클래스를 실제 실행할 수 있는 main() 메서드를 포함한 코드로 만들어 보자. 자바 소스 파일을 작성할 때의 주의사항은 다음과 같다.

□ 자바 코드의 파일명과 확장자
◇ 클래스의 이름과 파일명은 동일하다.
◇ 소스 파일은 .java 확장자를 사용한다.

□ 클래스 파일
◇ 코드를 컴파일하면 클래스명과 동일한 .class 파일이 생성된다.
◇ 즉 컴파일된 결과 파일은 .class 확장자가 붙는다.
◇ main()을 포함한 클래스가 실행 클래스가 된다.

파일의 이름은 클래스의 이름과 동일하게 주어야 하며, main() 메서드를 포함하고 있는 클래스가 실행 클래스가 된다. Person 클래스를 테스트하는 PersonMain 클래스는 다음과 같다.

§ chap02\Person.java
 
/**
Person 클래스 - 새로운 사용자 정의 데이터 타입
**/
public class Person { 
    public int age; 
    public float height; 
    public float weight; 
//Person.java 파일을 컴파일하면 Person.class 파일이 자동으로 생성된다.
/***
c:\javasrc\chap02>javac Person.java
c:\javasrc\chap02>dir Person.*
07-03  오전 12:23               242 Person.class
06-20  오후 10:35               324 Person.java
       2개 파일                 566 바이트
***/

§ chap02\PersonMain.java
 
/**
Person 클래스를 테스트하는 예
**/
public class PersonMain {
    public static void main(String[] args)  {
        Person brother = new Person(); 
        brother.age = 100
        brother.height = 170.0F; 
        brother.weight = 67.0F; 
        System.out.println("age:" + brother.age);
        System.out.println("height:" + brother.height);
        System.out.println("weight:" + brother.weight);
    
/***
c:\javasrc\chap02>javac PersonMain.java
c:\javasrc\chap02>java PersonMain
age:100
height:170.0
weight:67.0
***/

자바 코드를 컴파일하기 위해서는 다음과 같이 javac.exe를 이용하면 된다.

□ 각각의 파일 컴파일하기
◇ javac Person.java
◇ javac PersonMain.java

□ 한번에 컴파일 하기
◇ javac P*.java

실행을 하기 위해서는 다음과 같이 java.exe를 이용해서 main()을 포함한 실행 클래스를 실행하면 된다.

□ 자바 프로그램의 실행
◇ java PersonMain

위의 예제는 지금까지 학습한 내용을 예제로 변환한 것이니 확인해보기 바란다.

▣ 정리

지금까지 구조체가 아닌 클래스로 새로운 데이터 타입 Person을 만들고, 변수를 선언한 후 변수에 메모리를 생성하는 방법까지 알아보았다. 클래스는 변수 이름만 주는 것이 아니라 new 연산자와 생성자를 이용해서 메모리를 생성해주어야 한다는 것을 배워 보았다.

구조체(struct)는 클래스(Class)가 없던 시절 C 언어에서 새로운 사용자 정의 데이터 타입(User Definition Data Type)을 만드는 역할을 담당하고 있었다. 그리고 자바 언어에서는 구조체를 더욱 발전시켜 사용자 정의 데이터 타입을 만들 수 있는 클래스(Class)를 제공하고 있다. 현재 여기서는 발전된 클래스의 측면은 고려하지 않고 있다. 우리가 앞으로 배울 내용이 바로 구조체에서 발전된 클래스의 능력이다.

구조체와 클래스는 기본 데이터 타입(Basic Data Type)을 조합해서 새로운 데이터 타입을 만들어내는 데이터 타입 생성기이다. 이것은 아주 중요한 사항이며 반드시 기억해야 하는 내용이다. 구조체와 클래스가 데이터 타입 생성기라는 말만 이해하고 있어도 많은 부분이 해결되는 느낌을 갖는 분도 있을 것이다.

□ 구조체와 클래스의 정의
◇ 구조체와 클래스는 데이터 타입 생성기이다.

자바로 프로그램을 한다는 것은 클래스로 새로운 데이터 타입을 만드는 것이며 앞으로도 계속 그럴 것이다. 자바 언어를 조금이라도 공부한 분이라면 수없이 클래스를 만들고, 그 클래스로 작업을 할 것이다. 그런데 정작 클래스가 무엇을 하는 건지 모른다면 자바 언어 자체를 포기한 것이나 마찬가지이다. 여기서 기초적인 클래스의 의미를 알아두기 바란다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
68 Java 1.4.5 그 외 데이터 타입 IT장인 2013.11.21 68121
67 Java 3.5.3 private에 접근하는 방법 IT장인 2013.12.28 5064
66 Java 3.5.5 private 멤버 필드를 사용하는 이유 IT장인 2013.12.28 2546
65 Java 3.6.3 참조 변수의 특징 IT장인 2013.12.28 1785
64 Java 3.6.6 MotorCycle m = new MotorCycle() IT장인 2013.12.28 1690
63 Java 3.5.2 private의 접근과 컴파일 에러 IT장인 2013.12.28 1368
62 Java 1.4.2 정수형과 실수형 메모리의 형태 IT장인 2013.11.21 1366
61 Java 3.6.2 참조값의 원리 IT장인 2013.12.28 1279
60 Java 3.6.5 참조 변수의 타입 IT장인 2013.12.28 1185
59 Java 3.6.4 참조 변수끼리의 할당 IT장인 2013.12.28 1155
58 Java 3.6.7 결론 IT장인 2013.12.28 1001
57 Java 3.5.1 접근제어란? IT장인 2013.12.28 727
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6