1. 함수란?
- 하나의 기능을 수행하는 일련의 코드
- 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨
- 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음
2. 함수 구현하기 예제
public class FunctionTest { public static int addNum(int n1, int n2) { int result; result = n1 + n2; return result; } public static void sayHello(String greeting) { System.out.println(greeting); } 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 num1 = 10; int num2 = 20; int sum = addNum(n1, n2); sayHello("안녕하세요"); int num = calcSum(); System.out.println(sum); System.out.println(num); } } |
위의 예제에서 총 3가지 타입의 함수가 존재한다.
- addNum() : int형 매개변수 2개를 입력받아 두 수의 합을 리턴해주는 함수
- sayHello() : String을 매개변수로 입력받아 sysout으로 출력해주는 함수
- calcSum() : 1~100까지 수의 합을 리턴 받는 함수
3. 함수 호출과 스택 메모리
- 스택 : 함수가 호출 될 때 지역 변수들이 사용하는 메모리
- 함수의 수행이 끝나면 자동으로 반환되는 메모리
- 아래 메모리 생성 방향은 메서드에서도 동일하게 적용 된다.
4. 메서드
- 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
- 멤버 함수라고도 부른다.
- 메서드를 구현함으로써 객체의 기능이 구현 됨
- 메서드의 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 짓는 것이 좋다.
예) getStudentName()
5. 학생 클래스를 정의하고 이를 사용해보자. (객체 생성 예제)
> 학생 클래스의 속성을 멤버 변수로 선언하고 메서드를 구현 한다.
5-1. 학생 클래스 정의
package ch04; public class Student { 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; } } |
> studentID, studentName, address는 멤버변수라 말하고,
> showStudentInfo(), getStudentName(), setStudentName()은 멤버 함수 또는 멤버라 부른다.
5-2. 학생 클래스를 사용하는 StudentTest라는 main클래스 정의
package ch04; public class StudentTest { public static void main(String[] args) { Student student_1 = new Student(); student_1.studentID = 12345; student_1.setStudentName("이순신"); student_1.address = "서울"; student_1.showStudentInfo(); Student student_2 = new Student(); student_2.studentID = 54321; student_2.setStudentName("김유신"); student_2.address = "경주"; student_2.showStudentInfo(); } } |
> 학생 객체를 생성하여 해당 객체의 변수의 값을 입력하고 메서드로 호출하여 값을 뽑아오는 일련의 과정을 보여준다.
<< 실행화면 >>
12345학번 학생의 이름은 이순신이고, 주소는 서울입니다. 54321학번 학생의 이름은 김유신이고, 주소는 경주입니다. |
'개발공부 > Java' 카테고리의 다른 글
[Java] 04. 생성자란? (Constructor) (0) | 2021.11.17 |
---|---|
[Java] 03. 인스턴스 생성과 힙 메모리 (heap memory) (0) | 2021.11.17 |
[Java] 01. 객체와 객체 지향 프로그래밍의 의미 (0) | 2021.11.17 |
[eclipse] WebLogic Server 14.1.1 Web Services Sample Application Test (0) | 2021.09.17 |
[eclipse] WebLogic Server 12.2.1.4 연동하는 방법 (0) | 2021.09.13 |