728x90
반응형
메소드(Method)
클래스에 있는 함수
자바에서 모든 함수는 클래스에 있기 때문에 사실 자바의 모든 함수는 메소드이다.
기본 문법 (Syntax)
int sum(int x, int y) {
return x + y;
}
sum이라는 메소드. 이 함수는 일단 파라미터로 정수형 x와 정수형 y를 받는다. 그리고 이 메소드는 꼭 정수형을 리턴시켜줘야 한다. 그렇지 않으면 오류가 나오게 된다. return x + y;는 정수형을 리턴시켜주기때문에 아무런 문제가 없다.
만약, 리턴값이 없으면 자료형 대신 void라고 써주면 된다. 예를 들어 main 함수도 리턴값이 없기 때문에 void를 썼다.
public static void main(String[] args) {
System.out.println("Hello world!");
}
예제
객체 지향 프로그래밍에서 다룬 '은행 계좌' 예제를 다시 보면, '은행 계좌'에는 '입금' 기능, '출금' 기능, 그리고 '이체' 기능이 필요하다. 각각 틀만 먼저 만들어보자.
public class BankAccount {
int balance;
Person owner;
// 파라미터: 입금할 액수
// 리턴: 성공 여부 (불린)
boolean deposit(int amount) {
}
// 파라미터: 출금할 액수
// 리턴: 성공 여부 (불린)
boolean withdraw(int amount) {
}
// 첫 번째 파라미터: 받는 사람 (Person)
// 두 번째 파라미터: 이체할 금액 (정수)
// 리턴: 성공 여부 (불린)
boolean transfer(Person to, int amount) {
}
}
- '입금' 기능은 deposit 메소드로 썼다. 이 메소드는 파라미터로 입금할 액수 amount를 받고, 입금 성공 여부를 나타내는 불린 값을 리턴해준다.
- '출금' 기능은 withdraw 메소드로 썼다. withdraw는 파라미터로 출금할 액수 amount를 받고, 성공 여부를 나타내는 불린 값을 리턴해준다.
- 마지막으로 '계좌 이체' 기능은 transfer 메소드로 썼다. transfer은 파라미터를 두 개를 받는다.
1) 첫 번째는 받을 사람을 나타내는 Person 타입의 to
2) 두 번째는 이체할 금액 amount
다른 메소드들과 마찬가지로 리턴 값은 성공 여부를 나타내는 불린 값이다. 지금은 메소드에 아무 내용이 없고, 따라서 리턴 타입을 지키지 못했기 때문에 오류가 나온다. 실제로 내용을 채워넣는 것은 인스턴스 강의를 들은 후 정리를 해보려고 한다.
728x90
반응형
'TIL > Java' 카테고리의 다른 글
[Java] 은행 시뮬레이션 프로그램_입금, 출금 메소드 작성하기 (0) | 2021.12.31 |
---|---|
[Java] 인스턴스 (0) | 2021.12.30 |
[Java] 객체 지향 프로그래밍이란? (0) | 2021.12.29 |
[Java] 다중 배열(Multi Array) (0) | 2021.12.28 |
[Java] 배열(Array)_염기서열문제 (0) | 2021.12.28 |