메소드란?
- Method
클래스가 만들어지기 전에 기능만 담당했던것을 function이라하고
클래스의 필드와 함께 관련된 기능을 담당하는 것을 메서드라고 한다. (하는 일은 같지만 관점이 바뀌며 용어가 달라졌다.)
객체의 동작에 해당하는 중괄호 { } 블록이다.
중괄호 블록은 이름을 가지는데 이것이 메소드의 이름이다.
메서드를 실행하면 블록 내의 모든 코드들이 일괄적으로 실행된다.
필드를 읽고 수정하는 역할부터 다른 객체를 생성해서 활용하는 등 다양한 역할을 수행한다.
객체간의 데이터 전달의 수단으로 사용된다.
외부로 부터 매개값을 받을 수 있고 실행 후 어떤 값을 리턴할 수도 있다.
선언부(리턴타입, 메서드이름, 매개변수선언)와 실행 블록으로 구성된다.
메서드의 선언부를 메서드 시그너처(signature)라고도 한다.
naming convention
메소드의 이름은 숫자를 사용하면 안되고, $와 _를 제외한 특수 문자를 사용하지 말아야 한다.
관례적으로 메소드의 이름은 소문자로 작성한다.
서로 다른 단어가 혼합된 이름이라면 뒤이어 오는 단어의 첫머리 글자는 대문자로 작성한다.
메소드 정의하는 방법
인터페이스
더보기
/*
* 계산기 인터페이스
* - 더하기, 빼기, 곱하기, 나누기
*/
package kr.co.dong.ch6;
public interface Calc {
int sum(int n, int m);
int sum(int...n);
int minus(int n, int m);
int minus(int...n);
int mul(int n, int m);
int mul(int...n);
double div(int n, int m) throws Exception;
double div(int...n);
}
클래스
더보기
/*
* 계산기의 기능을 구현하는 클래스 : class Cal
* -(두 수) 더하기, 빼기, 곱하기, 나누기 등
*/
package kr.co.dong.ch6;
public class Cal implements Calc{
// 더하기 : 매개변수 2개의 정수, 결과값 정수로 리턴
@Override
public int sum(int n, int m) {
return n + m;
}
// 가변인수 매개변수로 쓰는법 (자료형... 변수명)
// 이때 들어오는 매개변수는 배열로 치환되어 사용된다.
@Override
public int sum(int...n) {
int result = 0;
for(int temp : n) {
result += temp;
}
return result;
}
// 빼기 : minus
@Override
public int minus(int n, int m) {
return n - m;
}
@Override
public int minus(int... n) {
int result = 0;
for(int temp : n) {
result -= temp;
}
return result;
}
// 곱하기 : mul
@Override
public int mul(int n, int m) {
return n * m;
}
@Override
public int mul(int... n) {
int result = 1;
for(int temp : n) {
result *= temp;
}
return result;
}
// 나누기 : div
@Override
public double div(int n, int m) throws Exception{
double result = 0.0;
if(m == 0) throw new Exception("0으로 나눌 수 없습니다.");
result = (double)n / m;
return result;
}
@Override
public double div(int... n) {
double result = 0.0;
try {
for(int temp : n) {
result /= (double)temp;
}
}catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
사용시
더보기
package kr.co.dong.ch6;
public class CalTest {
public static void main(String[] args) {
Cal c1 = new Cal();
int n1 = 10, n2 = 30;
int result = 0;
// 더한다
result = c1.sum(n1, n2);
System.out.println(result);
}
}
'Language > JAVA' 카테고리의 다른 글
4주차 과제 : LinkedList 구현하기 (0) | 2021.02.25 |
---|---|
4주차 과제 : live-study dash board 만들기 (0) | 2021.02.23 |
5주차 과제 : 클래스 정의하는 방법 (0) | 2021.02.18 |
5주차 과제: 클래스 (0) | 2021.02.17 |
4주차 과제 : JUnit 5 (0) | 2021.02.17 |