[JAVA] 자바 메소드 호출
▣ [JAVA] 자바 메소드 |
■ 자바 프로그램에서 모든 코딩은 클래스 내부에 있고, 실제로 프로그램이 실행되는 부분은 main()이라는 Method 내부에 있는데요. 그런데 프로그램을 실행하기 위해서 main Method 안에 모든 실행 내용의 코딩을 작성한다면 그 안은 엄청나게 복잡해지고, 매번 그것들을 작성한다면 비효율적인 노가다(?) 작업이 될것입니다. 그렇기 때문에 다른 메소드에서 실행 내용을 작성해놓고 메인에서는 그것들을 호출해서 사용하면 보다 효율적인 코딩이 될것입니다.
먼저 Method의 일반적인 형식은 다음과 같습니다.
여기서 public 은 접근 제한자이고, static은 지정 예약어 인데요.
■ 이렇게 접근제한자는 일반적으로 public을 많이 사용합니다. 이유는 private로 지정된 멤버 필드의 값을 처리해야 하기 때문인데요. public은 객체가 선언되어 있는 곳이면 어디서든 접근해서 사용할 수가 있습니다. 외부에서 객체로 접근을 할 수 있도록 public을 사용합니다.
■ static method 나 field는 static method에서만 호출 할 수 있는데요. 메인 메소드가 static이기 때문에 여기서 다른 Method 를 호출할려면 그 Method도 static으로 되어 있어야 합니다.
■ 결과형 리턴값은 Method의 내용부를 실행하고나서 그 결과값을 돌려주는 것이고, [return] 이라는 예약어를 사용합니다. 어떤 Method 에서 호출을 받게 되면 내용부을 실행을 하고 그 값을 자신을 호출한 메소드로 돌려보내주는 것을 의미하는 것인데요. 아무것도 돌려주지 않을때는 void를 사용하고 예약어인 [return]은 생략해도 됩니다. 돌려주는 값으로는 8가지 자료형과 String등 기타 클래스를 사용할 수 있습니다. 리턴값을 돌려주는 예를 살펴보도록 하겠습니다.
■ 위 예제 소스에서 aaa와 bbb는 메서드 이름인데요. 임의로 정할 수 있구요.
■ 매개변수는 호출하는 쪾에서 넘겨줄 수 있는 값입니다. 어떤 값을 넘겨주면서 그 값을 대입해서 실행을 하라는 의미로 생각하면 되는데요. 예를 들어 두 숫자의 합을 구하는 내용이 있다면 두개의 int 값을 넘겨주면서 이 숫자를 대입해서 합을 구하고 그 값을 다시 나에게 보내라는 의미입니다.
■ 예외처리는 어떤 프로그램에서 입력을 받을 상황이 있을때 예외가 발생할 수 있는 상황에 대비하기 위해서 예외처리나 전가를 해야 합니다. 예를 들어 숫자를 입력받아서 계산하는 프로그램에서 숫자가 아닌 다른것(char)이 입력이 되면 이것은 예외가 발생한 상황입니다. 이때 어떤 예외가 발생했다는 것을 알리기 위해서 대상이 되는 클래스를 적는 위치입니다.
■ 왜 메소드를 사용하면 효율적인 코딩이 가능한지 예제를 하나 살펴보겠습니다.
■ 코딩 소스를 보면 "별"을 출력하는 부분인 'for문'이 메인메소드에서 계속 반복이 되고 있습니다. 이런 경우는 반복해서 붙여넣기를 하면 되기는 하지만 번거롭고 복잡해 집니다. 여기서 for문을 하나의 메서드로 만들어 버리면 더 편하겠죠. for문 부분을 메서드로 작성해서 코딩을 해보겠습니다.
■ for문을 aaa()라는 메소드로 만들어서 main()에서는 복잡한 for문 대신에 aaa()를 호출하고 있는 모습입니다. 많이 깔끔해졌네요. 이처럼 Method는 반복적으로 사용되는 내용을 하나로 묶어서 관리하면서 필요할때만 불러서 사용하면 보다 효율적인 코딩이 가능하게 해줍니다.