안녕하세요. 스마트 팩토리입니다.
자바 중급 008. 메서드 정의 와 작성 지침 예시- 메서드 구현(. 연산자, ctrl+space:자동완성기능)에 대해 알아보겠습니다.
1. 메서드의 정의 와 작성지침
가. 메서드란?
-메서드는 작업(기능)을 수행하는 명령문의 집합
- 선언부와 구현부로 구성된다.
- 선언부가 중요하다(호출시 필요한 부분이기 때문)
- 매개변수(인자-파라미터)로 값을 받아서 결과를 리턴값으로 반환한다
(반환값이 없는 경우 void를 사용한다)
나. 메서드 작성지침(메서드를 사용하는 이유)
-코드의 반복을 줄여준다.
-코드 관리가 편리하다.
-하나의 메서드에는 한가지 기능만 수행하도록 하자
- 누가봐돠 알 수 있는 코드로 작성
다. 메서드 정의
(1) 선언부+ 구현부
리턴타입 메서드명( 인자(타입 변수명),...) --> 선언부
{
실행문; --> 구현부
}
(2) 메서드 예시 (리턴 타입이 있는 경우)
<<클래스 MethodDef.java 설정>>
클래스를 작성하였습니다. 멤버변수와 멤버 메서드를 작성한 코드 ~
사칙연산 관련하여 리턴값이 있는 것을 볼 수 있습니다.
메서드에서 인수 즉 파라미터 변수는 동일해도 상관없습니다. 해당 메서드에서만 의미를 가지기 때문에 적용할때는 실제값이 대입되어 실행문을 실행하게 됩니다.
package methodDef;
public class MethodDef {
int num;
int num2;
int plus(int x, int y) { --> 멤버 메서드
int c=x+y;
return c;
}
int minus(int x, int y) { --> 멤버 메서드
int c=x-y;
return c;
}
int multiple(int x, int y){ --> 멤버 메서드
int c=x*y;
return c;
}
float divide(int x, int y) { --> 멤버 메서드
float c=(float)(x/y);
return c;
}
}
<<실행클래스 MethodDefEx.java 설정>>
클래스를 활용하여 n1, n2객체를 만들었습니다. 해당 클래스의 메서드를 적용한 결과값을 result 1, result2로 결과값을 받았습니다. 이를 출력하는 문장으로 마무리~~
동일한 내용이라면 출력문까지 해당 클래스로 넣어서 반복을 줄이는 것이 더 좋을 듯합니다.
package methodDef;
public class MtehodDefEx {
public static void main(String[] args) {
MethodDef n1=new MethodDef();
MethodDef n2=new MethodDef();
int result1=n1.multiple(10,20); --> 메서드 적용
int result2=n2.multiple(9,8); --> 메서드 적용
System.out.println("두 수의 합은 :"+result1);
System.out.println(" 두 수의 합은 :"+result2);
}
}
<<실행 값>>
(3) 메서드 예시 (리턴 타입이 없는 경우)
<< 클래스 작성 methodDefno.java>>
리턴값이 없는 경우에는 인수를 받아서 직접 출력하도록 메서드를 작성하였습니다.
반복되는 내용의 경우 중복을 피하기 위해서 작성하면 실행 클래스에서는 코드가 간단해 집니다.
package methodDef;
public class methodDefno {
int num;
int num2;
void plus(int x, int y) {
System.out.println( "두수의 합 : " + (x+y));
}
void minus(int x, int y) {
System.out.println( "두수의 차 : " + (x-y));
}
void multiple(int x, int y){
System.out.println( "두수의 곱 : " + (x*y));
}
void divide(float x, float y) {
System.out.println( "두수의 나눗셈 : " + (float)(x/y));
}
}
<< 실행클래스 작성 methodDefnoEx.java>>
실행 클래스에서 객체 변수를 작성하고 . 연산자를 활용하면 활용한 메서드가 나옵니다. (자동완성)
. 을 넣고 ctrl+space 를 누르면 됩니다.
메서드가 있는 클래스에서 실행문을 길게 작성해 주면 실행 클래스에서 코드가 간단해지게 됩니다.
n1.plus(10,20);
n1.minus(10,20);
n1.multiple(10,20);
n1.divide(10.0f,20.0f);
자료형(데이터 타입)을 잘 선택하여 기본형이 아닌 경우는 값뒤에 해당 자료형을 의미하는 f을 넣어줘야 합니다.
package methodDef;
public class MethodDefnoEx {
public static void main(String[] args) {
methodDefno n1=new methodDefno();
n1.plus(10,20);
n1.minus(10,20);
n1.multiple(10,20);
n1.divide(10.0f,20.0f);
}
}
'Java' 카테고리의 다른 글
자바 중급 010. 스택이란? , 콜스택(call stack) (0) | 2021.08.24 |
---|---|
자바 중급 009. 인스턴스 메서드(instance method)와 정적 메서드(static method)의 생성과 호출 (0) | 2021.08.22 |
자바 중급 007. 클래스 변수 와 인스턴스 변수 , 지역변수(로컬변수 :local variable) -클래스 내 메서드 선언과 생성, 적용하는 방법 (0) | 2021.08.14 |
자바 중급 006. 클래스 변수(class, stactic variable)와 인스턴스 변수(instance variable) (0) | 2021.08.12 |
자바 중급 005. 클래스와 객체 - Tv 클래스, 객체 하나의 파일에서 작성하기 , 객체 생성 및 사용 (0) | 2021.08.11 |
댓글