Notice»

Statistics Graph

 

'메소드 호출'에 해당되는 글 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
15. 클래스 기반의 프로그래밍  (0) 2013.02.28
14. 클래스에 대하여  (0) 2013.02.27
13. 함수에 대하여(2)  (0) 2013.02.26
12. 함수에 대하여(1)  (0) 2013.02.25

댓글을 달아 주세요