1. 학습목표
메서드에 대해 이해할 수 있다.
2.필요 개념 문장정리
메서드
- 메서드는 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것이다.
- 처음에 프로그램을 설계할 때 내용이 없는 메서드를 작업단위로 만들어 놓고 하나씩 완성해가는 것도 프로그램을 구조화하는 좋은 방법이다.
- 메서드는 선언부와 구현부로 이루어져 있다.
- 두 변수의 타입이 같아도 변수의 타입을 생략할 수 없다. 메서드이름은 동사인 경우가 많다.
- 반환타입이 없는 경우 반환타입으로 void를 적어야한다.
- void가 아닌경우 return값이 반드시 포함되어야 하고 이 값의 타입은 반환 타입과 일치하거나 적어도 자동 형변환이 가능해야 한다.
- 메서드로의 매개변수는 여러 개일 수 있어도 반환값은 최대 하나만 허용한다.
- 매서드 내에 선언된 변수를 지역변수라 한다.
매서드 호출
- 메서드이름(값1,값2,...); // 메서드 호출하는 방법
int result = add(3, 5); // 메서드를 호출하고 결과를 result에 저장 - 메서드를 호출할 때 괄호안에 지정해준 값들을 인자라고 하고 인자의 개수와 순서는 호출된 메서드에 선언된 매개변수와 일치해야 한다.
- 인자는 메서드가 호출되면서 매개변수에 대입되므로 인자의 타입은 매개변수의 타입과 일치하거나 자동 형변황이 가능한 것이어야 한다.
- 같은 클래스 내의 메서드끼리는 참조변수를 사용하지 않고도 서로 호출이 가능하지만 static메서드는 같은 클래스 내의 인스턴스 메서드를 호출할 수 없다.
- 메서드를 호출하기위해서는 먼저 인스턴스를 생성한 다음 참조변수를 통해야한다.
- 호출한 자리를 번환값이 대신하고 대입연산자에 의해 값이 변수 value에 저장된다.
- 메서드의 결과를 저장하기 위한 변수 value역시 반환값과 같은 타입이거나 반환값이 자동 형변환되어 저장될 수 있는 타입이어야한다.
3. 코드작성
float divide(int x, int y) {
if(y==0) { // 작업을 하기전에 나누는 수가 0인지 확인한다.
System.out.println("0으로 나눌 수 없습니다.");
return 0; // 매개변수가 유효하지 않으므로 메서드를 종료한다.
}
return x / (float)y;
}
타입만 맞으면 어떤 값도 매개변수를 통해 넘어올 수 있기 때문에 가능한 모든경우의 수에 대해 대비한 코드를 작성한다.
4. 마무리
메서드를 선언하는 것은 설계도만 만든것과 같다. 인스턴스를 만들고 메서드를 호출해서 사용해야 한다.
유효성검사의 기본을 이해할 수 있었다.
'언어 기초 > JAVA' 카테고리의 다른 글
[자바의정석 | Chapter 06 객체지향 프로그래밍1] 메서드로 배열 다루기 (0) | 2024.01.17 |
---|---|
[자바의정석 | Chapter 06 객체지향 프로그래밍1] 매개변수 (0) | 2024.01.17 |
[자바의정석 | Chapter 06 객체지향 프로그래밍1] 클래스변수와 인스턴스변수 (1) | 2024.01.16 |
[자바의정석 | Chapter 06 객체지향 프로그래밍1] 객체배열, 프로그래밍에서의 클래스 (0) | 2024.01.15 |
[자바의정석 | Chapter 06 객체지향 프로그래밍1] 클래스,객체,인스턴스 (0) | 2024.01.15 |