Contents

Java
2013.11.22 20:40

2.2.1 클래스 만들기

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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


2.2.1 클래스 만들기

자바 언어에서는 구조체를 사용하지 않는다. 구조체보다 훨씬 발전된 형태의 클래스를 사용한다. 구조체가 새로운 데이터 타입을 만들 듯 클래스 또한 새로운 데이터 타입을 만드는 역할을 담당하고 있다. 이것을 실제 예제로 만들어 보자.

다음은 자바에서 Person 클래스를 선언한 후 컴파일하는 과정을 보여주고 있다. 앞 절에서 만든 구조체의 선언과 얼마나 다른지 눈으로 확인해보기 바란다.

§ 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 바이트
***/

위의 클래스는 앞 절에서 나온 구조체와 철자도 다른 것이 별로 없다. class라는 키워드를 사용하며 public이 붙어 있다는 것 이외에는 구조체와 다른 것이 없다.

□ Person 클래스의 분석
◇ class : 클래스를 선언하는 키워드
◇ Person : 새로운 데이터 타입의 이름
◇ age : 데이터 타입 내의 멤버
◇ height : 데이터 타입 내의 멤버
◇ weight : 데이터 타입 내의 멤버

그리고 Person이라는 새로운 사용자 정의 데이터 타입이 만들어진 것 또한 구조체와 동일하다. 지금은 위의 public은 무시하기 바란다. 이것에 대해서는 3장에서 자세히 다루게 될 것이다.

□ 구조체와 클래스
◇ public을 모두 제거하고 class 키워드를 struct로 바꾼다면, 모든 면에서 구조체와 동일하다.

여기서 필자가 보여주려고 하는 것은 클래스와 구조체가 새로운 데이터 타입을 만든다는 측면에서는 동일하다는 것이다. 약간 다르긴 하지만 public을 모두 제거하고 class 키워드를 struct로 바꾼다면, 모든 면에서 구조체와 동일하다. 3개의 변수를 담고 있는 새로운 데이터 타입이 만들어진 것이다. 즉 자바 언어에서 사용할 수 있는 새로운 데이터 타입 Person이 만들어진 것이다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
32 Java 2.3.1 클래스와 데이터 타입의 관계 IT장인 2013.11.22 385
31 Java 2.2.4 사용자 정의 데이터 타입 테스트 IT장인 2013.11.22 659
30 Java 2.2.3 메모리 생성 연산자 IT장인 2013.11.22 361
29 Java 2.2.2 클래스의 사용 IT장인 2013.11.22 358
» Java 2.2.1 클래스 만들기 IT장인 2013.11.22 333
27 Java 2.1.5 클래스로 가는 길목 IT장인 2013.11.22 314
26 Java 2.1.4 구조체의 사용 IT장인 2013.11.22 356
25 Java 2.1.3 구조체 만들기 IT장인 2013.11.22 361
24 Java 2.1.2 기본 데이터 타입의 한계 IT장인 2013.11.22 336
23 Java 2.1.1 핵심 Question IT장인 2013.11.22 290
22 Java 1.6.4 결론 IT장인 2013.11.21 332
21 Java 1.6.3 할당의 예 IT장인 2013.11.21 338
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6