학습(공부)하는 블로그 :: '클래스의 선언' 태그의 글 목록
 

 

Notice»

Recent Post»

Recent Comment»

Recent Trackback»

03-29 00:00

 

'클래스의 선언'에 해당되는 글 1

  1. 2013.02.28 15. 클래스 기반의 프로그래밍
 
반응형

1. 클래스 기반의 프로그래밍


○ 클래스에도 메인 클래스가 있다.


○ 메인 클래스를 정점으로 관련 클래스들을 가져다가 사용하는 방식으로 클래스 기반의 프로그래밍이 이루어 진다.


○ 클래스와 클래스가 서로 요청을 주고 받으면서 하나의 완성된 자바 프로그램을 만들게 된다.



2. 클래스의 선언

  class 클래스이름
  {
      …
   }


○ 야구선수 클래스 예시

 class BaseballPlayer

 {

      int age, height, weight ;


      public void eat()  {

             System.out.println("먹는다.");

      }

      public void sleep()  {

             System.out.println("잔다.");

      }

      public void run()  {

             System.out.println("달린다.");

      }

 }


- 해설

· 이 클래스는 정수형으로 된 age, height, weight 의 세 가지 변수를 가졌다.

  ※ 클래스에서 사용되는 변수를 '맴버'라고 부름

· eat(), sleep(), run() 의 세 가지 함수를 가졌다.

  ※ 이러한 함수는 클래스 내에 구현된 메소드라고 함

· 이것으로 BaseballPlayer 라는 클래스를 만들었고, 이를 이용해서 새로운 객체를 만들 수 있음

· 클래스를 이용하여 새로운 객체를 만드는 것을 '생성'이라고 함



3. 클래스에서의 객체 생성


○ 객체 생성하는 방법

 클래스이름 객체이름 = new 클래스이름() ;


○ 객체 생성의 예

  BaseballPlayer kim = new BaseballPlayer() ;
  BaseballPlayer min = new BaseballPlayer() ;



4. 생성한 객체 사용하기


○ 특정 클래스에서 구현된 메소드는 해당 클래스로 생성된 객체만이 사용할 수 있다.(해당 객체들은 클래스로부터 모든 권한을 물려받았다고 표현)


○ 메소드 호출

  객체명.메소드 ;


- 예) kim.run() ;


○ 변수의 값 대입

 객체명.변수 = 대입할 값 ;


- 예) kim.age = 30 ;


○ 클래스와 객체의 사용 예시 : object_01.java

 class BaseballPlayer

 {

      int age, height, weight ;


      public void eat()  {

             System.out.println("먹는다.");

      }

      public void sleep()  {

             System.out.println("잔다.");

      }

      public void run()  {

             System.out.println("달린다.");

      }

 }


 class object_01

 {

      public static void main(String args[])

      {

             BaseballPlayer kim = new BaseballPlayer();

             kim.age = 30 ;

             System.out.println("생성한 야구선수 kim의 나이는 : " + kim.age);

             kim.run();

      }

 }


- 실행 결과


※ 위 예제를 두 개의 클래스로 따로 나누고 object_01만 실행시켜도 같은 결과를 가진다.


반응형

'프로그래밍 > 초보자를 위한 Java 프로그래밍 입문' 카테고리의 다른 글

17. 클래스의 보호  (0) 2013.03.02
16. 생성자  (0) 2013.03.01
14. 클래스에 대하여  (0) 2013.02.27
13. 함수에 대하여(2)  (0) 2013.02.26
12. 함수에 대하여(1)  (0) 2013.02.25
: