함수와 메서드는 어떤 동작을 코드로 정의를 해놓은 것이라고 할 수 있습니다. 예를 들어 System.out.println 메서드는 문자열을 입력 받아서 콘솔에 출력하는 동작을 하고 있습니다. 그 동작을 메서드 안에서 코드로 구현하여 원하는 결과를 쉽게 사용할 수 있기 때문에 재사용하기도 편리합니다. 이러한 역할을 해주는 것이 함수와 메서드입니다. 차이점이라고 하면 메서드는 클래스 안에서 선언된 함수라는 점입니다.
예시
public static String plus(int a, int b) {
...
return "string";
}
▶수식어: 변수나 메서드에 제약이나 어떤 효과를 부여하는 수단입니다. (public, static 부분)
▶리턴 타입: 메서드가 반환할 타입을 나타냅니다. int나 String 등 여러가지 타입이 올 수 있고 void는 반환하지 않는다는 의미입니다. (String 부분)
▶메서드명: 해당 메서드의 이름을 나타냅니다. (plus 부분)
▶매개변수: 메서드로 전달할 값을 나타냅니다 . 변수를 선언하는 것과 같이 전달 받을 변수를 선언할 수 있습니다. 인수, 인자, 파라미터 라고도 합니다. 이렇게 선언한 변수들로 전달 값을 받아 메서드 안에서 이용할 수 있습니다. (int a, int b 부분)
▶return: 반환될 값을 나타냅니다. 리턴 타입이 곧 반환될 타입이므로 두 개의 타입은 같아야 합니다.리턴 타입이 void일 경우 return은 생략할 수 있습니다.
설명과 같이 메서드를 정의해서 사용해 보도록 하겠습니다. main도 메서드이기 때문에 main 메서드 안에 정의하지 않도록 주의합니다.
예시
public class Practice {
public static void main(String[] args) {
int sum = 0;
sum = plus(1, 2);
System.out.println(sum);
}
public static int plus(int a, int b) {
a = a + 2;
return a + b;
}
}
위와 같이 plus라는 메서드를 정의했습니다.
정의한 메서드를 사용하기 위해 main 메서드 안에 메서드명을 적어줍니다. 그리고 전달 값을 정의한 타입에 맞게 적어줍니다. 실행을 하게 되면 메서드가 동작하게 되는데 이 때 이것을 메서드를 호출한다고 합니다. 그러면 메서드 안의 코드를 동작하게 되고 return 에 의해 a + b를 결과를 외부로 넘겨주는데 이것을 반환한다고 합니다. 반환된 값이 sum에 저장되고 출력해보니 결과가 5가 나와 정상적으로 동작함을 알 수 있습니다.
메서드 안에서 선언된 변수들을 의미합니다. 메서드가 호출될 때마다 새롭게 변수들이 선언, 초기화가 됩니다.
예시
public class Practice {
public static void main(String[] args) {
int sum = 0;
sum = plus(1, 2);
System.out.println(sum);
}
public static int plus(int a, int b) {
int c = 2;
a = a + 2;
return a + b + c;
}
}
이런 지역변수들은 외부에서는 사용되지 못하고 호출되는 과정에서만 사용됩니다.
[JAVA] 자바 프로그램 실행 원리와 특징 (0) | 2020.09.26 |
---|---|
[JAVA] 연산자의 정의와 종류 (0) | 2020.09.26 |
[JAVA] 변수의 정의와 종류 (0) | 2020.09.26 |
[JAVA] 자바 추상 클래스, 추상 메서드 사용하기 (0) | 2020.09.26 |
[JAVA] static 과 non static 의 차이 (0) | 2020.09.26 |