본문 바로가기

JAVA/JAVA Programming

[JAVA] JAVA 메서드

반응형
█ 메서드의 정의 및 용법

 모든 코딩은 항상 클래스(Class)라는 것 내부에 들어 있었고 실제 내용은 main()이라고 불리는 메서드(Method) 내에 있다. 그러다 보니 프로그램이 복잡해 지면서 main() 메서드의 내용도 많아지게 되고 프로그램을 이해하기도 점점 힘들졌다. 이렇게 복잡한 것을 조금 더 단순하게 그리고 이해하기 쉽도록 하기 위해 고안한 방법이 main()과 더불어 다른 메서드를 선언하는 것이다.

01) 형식 - 메서드
 접_제한자 [지정_예약어] 결과형_리턴값 메서드명 (매개_변수들) [throws 예외_클래스들] {

  내용부;
  내용부;
  ……
  내용부;
}
([…] 부분은 사용하지 않아도 된다.)

02) 형식 - 임시 사용 메서드
 public static 결과형_리턴값 메서드명 (매개_변수들) [throws 예외_클래스들] {

  내용부;
  내용부;
  …
  내용부;
}

제한자 : public, 지정 예약어 static
※ 변칙 형식 : 기본적으로 static 메서드는 static 메서드에서만 호출하여 사용할 수 있다. 그런데 공교롭게도
                    main() 메서드가 static이므로 main() 메서드에서 다른 메서드를 호출하여 사용하려면 어쩔 수 없이
                    동일하게 static이어야 한다.


1) 결과형 리턴값
 결과형 리턴값은 메서드가 내용부를 수행하고 난 후 결과로 되돌아가는 값을 이야기한다. main()이나 다른 메서드에서 호출을 받게 되면 내용부를 수행하고 그 결과를 자신을 호출한 메서드로 넘겨주어야 한다. 이때 넘겨줄 수 있는 값으로는 void와 더불어 boolean, byte, short, char, int, long, float, double, String, 기타 클래스가 있다. void는 아무것도 넘겨줄 것이 없다는 이야기이고 나머지는 각 자료형의 범위 값으로 넘겨주겠다는 이야기이다. 넘겨줄 때는 return이라는 예약어를 사용한다.

 | Example | public static void aaa( ) {
                |    
                |    System.out.println("Test");
                |           return;    // 넘겨 줄 것이 없는 void 일때
                | }
                |
                | public static int bbb( ) {
                |
                |    System.out.println("Test");
                |           int x = 10;
                |           return x;  // 결과형 리턴값이 int형 이기 때문에 그에 해당하는 int 값을 return 한다.
                | }



2) 메서드명
 메서드명은 main() 메서드를 제외하고는 사용자가 임의로 정하는 일름이다. 다시 말해서 사용자정의 명칭의 규칙에만 맞다면 어떤 것이든 상관없다.

3) 매개 변수들
 매개 변수는 메서드의 내용을 수행하기 위해 필요한 변수로 호출하는 쪽에서 필요로 하는 값을 넘겨줄 수 있는 공간이다.

4) 예외 클래스
 main() 메서드 내부에 입력 형식의 문구(System.in.read() 등)가 사용되면 'throws IOException'을 처리해야 한다는 사실을 배웠다. 이처럼 메서드 내부에 예외가 발생할 수도 있는 상황이 생긴다면 예외 처리나 예외 전가를 해야 하는데, 이 중에서 예외 전가를 할 때 예외 전가의 대상이 되는 클래스들을 적는 위치이다.


█ 메서드의 종류

1) Call By Name
  이름으로 메서드를 호출하는 방식이다. 예를 들면 System.out.printeln()에서 println()이 그에 해당하는 메서드로 매개 변수를 사용하지 않고 메서드명만으로 호출 을 한다.

2) Call By Value
 메서드의 매개 변수를 이용하는 방식인데 각 매개 변수는 그 개수에 있어서 제한도 없고 자료형에도 제약이 없다. 클래스 형이 사용되어도 된다.

반응형

'JAVA > JAVA Programming' 카테고리의 다른 글

[JAVA] A부터 Z까지 나타내기  (0) 2012.01.06
[JAVA] 1부터 임의 값까지의 합  (0) 2012.01.06
[JAVA] 성적 처리 프로그램  (0) 2012.01.04
[JAVA] Calender 클래스 활용  (0) 2012.01.04
[JAVA] 배열  (0) 2012.01.04