728x90
메소드(method)란
객체의 동작(기능)을 말하며 호출해서 실행할 수 있는 중괄호 { } 블록을 말한다.
중괄호 { } 블록은 이름을 가지고 있는데 이것이 메소드 이름이다.
메소드를 호출하면 중괄호 { } 블록에 있는 모든 코드들이 일괄적으로 실행된다.
메소드 선언
리턴 타입
메소드가 실행 후 리턴하는 값의 타입
메소드는 리턴값이 있을 수도 있고 없을 수도 있다.
[메소드 선언]
void powerOn() {...}
double divide(int x, int y) {...}
[메소드 호출]
powerOn();
double result = divide(10, 20);
메소드 이름
메소드 이름은 자바 식별자 규칙에 맞게 작성하면 되는데, 다음 사항에 주의하면 된다.
1. 숫자로 시작하면 안되고, $와 _를 제외한 특수 문자를 사용하지 말아야 한다.
2. 관례적으로 메소드명은 소문자로 작성한다.
3. 서로 다른 단어가 혼합된 이름이라면 뒤이어 오는 단어의 첫 머리 글자는 대문자로 작성한다.
매개변수 선언
매개변수는 메소드가 실행할 때 필요한 데이터를 외부로부터 받기 위해 사용한다.
매개변수의 선언은 옵션이다.
매개변수의 수를 모를 경우
[방법 1]
int sum1(int[] values) { } //호출시 배열이 생성
---------------------------------------
int[] values = { 1, 2, 3 };
int result = sum1(values);
int result = sum1(new int[] {1.2.3.4.5});
[방법2]
int sum2(int ... values) { } // int가 여러개 들어올 수 있다. / 배열이 생성 x ,호출시 값 목록을 주면됨
----------------------------------------
int result = sum2(1,2,3);
int result = sum2(1,2,3,4,5);
예제)
package sec08.exam01_method_declaration;
public class Calculator
{
void powerOn()
{
System.out.println("전원을 켭니다.");
}
int plus(int x, int y)
{
int result = x + y;
return result; //plus가 result를 결과값으로 리턴
}
double divide(int x, int y)
{
double result = (double)x / (double)y;
return result;
}
}
package sec08.exam01_method_declaration;
public class CalculatorExample
{
public static void main(String[] args)
{
Calculator myCalc = new Calculator();
myCalc.powerOn();
int sum = myCalc.plus(10, 20); //메소드 호출
System.out.println(sum);
byte x = 10;
byte y = 4;
//자동 타입 변환으로 byte가 int로 변환되어서 값이 들어감
double result2 = myCalc.divide(x, y);
System.out.println(result2);
}
}
예제)
package sec08.exam01_method_declaration;
public class Computer
{
int sum1(int[] values)
{
int sum = 0;
for(int i = 0; i<values.length; i++)
{
sum += values[i];
}
return sum;
}
int sum2(int ... values)
{
int sum = 0;
for(int i =0; i<values.length; i++)
{
sum += values[i];
}
return sum;
}
}
package sec08.exam01_method_declaration;
public class ComputerExample
{
public static void main(String[] args)
{
Computer myCom = new Computer();
int[] values1 = {1,2,3};
int result1 = myCom.sum1(values1);
System.out.println("result1:" + result1);
int result2 = myCom.sum1(new int[] {1,2,3});
System.out.println("result2:" + result2);
int result3 = myCom.sum2(1,2,3);
System.out.println("result3:" + result3);
int result4 = myCom.sum2(1,2,3,4,5);
System.out.println("result4:" + result4);
}
}
728x90
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA] 인스턴스 멤버와 this (0) | 2021.06.28 |
---|---|
[JAVA] 클래스의 구성 멤버 / 메소드(2) (0) | 2021.06.23 |
[JAVA] 클래스의 구성 멤버 / 생성자(2) (0) | 2021.06.22 |
[JAVA] 클래스의 구성 멤버 / 생성자(1) (0) | 2021.06.21 |
[JAVA] 클래스의 구성 멤버 / 필드 (0) | 2021.06.21 |