728x90
함수란(function)
- 하나의 기능을 수행하는 일련의 코드
- 구현된(정의된) 함수는 호출로 사용할 수 있다. / 기능이 끝나면 원래의 코드로 제어가 반환된다.
- 함수로 구현된 기능을 여러 곳에서 재사용이 가능
함수 정의하기
함수는 이름, 매개변수(parameter), 함수 몸체(body)로 구성된다.
// 반환이 없는 함수는 함수이름 앞에 void를 붙인다.
// void add();
int add(int num1, int num2) {
int result;
result = num1 + num2;
return result;
}
함수 구현하기 예제
public class FunctionTest {
// 매개변수 2 개를 받아서 더하는 함수 선언
public static int addNum(int num1, int num2) {
int result = num1 + num2;
return result;
}
// 아무것도 return 하지 않기 때문에 void로 선언
// 밑에서 "안녕하세요"를 넘겨받아 출력
public static void sayHello(String greeting) {
System.out.println(greeting);
}
// 1 ~ 100까지 더하는 함수 선언
public static int calcSum() {
int sum = 0;
int i;
for(i = 0; i <= 100; i++) {
sum += i;
}
return sum;
}
public static void main(String[] args) {
int n1= 10;
int n2 = 20;
// addNum함수를 total변수에 할당
// 매개변수 n1(10), n2(20)을 넘겨준다.
int total = addNum(n1, n2);
System.out.println(total); // n1(10) + n2(20) = 30;
sayHello("안녕하세요");
// total에 calcSum() 함수를 재할당 한다.
total = calcSum();
System.out.println(total); // 5050
}
}
메서드(method)
- 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
- 멤버 함수(member function)라고도 한다.
- 메서드를 구현함으로써 객체의 기능이 구현된다.
- 메서드의 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 작명하는 것이 좋다.
ex)getPersonName() //camelCase로 작성
객체의 속성은 멤버 변수로, 객체의 기능은 메서드로 구현한다.
- 멤버 변수는 class 내부의 메소드들에서 참조 가능
public class Student {
// 속성 = Student class의 멤버변수로 선언
public int studentID;
public String studentName;
public String address;
// 기능 = 메서드로 구현
public void showStudentInfo() {
System.out.println(studentID + " 학번 학생의 이름은 " + studentName + "이고, 주소는 " + address + "입니다.");
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String name) {
studentName = name;
}
}
728x90