일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 디자인패턴
- Spring
- 데이터베이스
- 직장인자기계발
- java
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 패스트캠퍼스
- 디자인
- 자바기초
- 자바예제
- 패스트캠퍼스후기
- 자바연습문제
- 자바
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- String
- 직장인인강
- DesignPattern
- 재택근무
- DB
- 국비
- 웹
- java기초
- 자바기본
- js
- javabasic
- 리눅스
- 스프링
- linux
- 패캠챌린지
- ncs
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 14일차 본문
함수와 메서드
함수(function) 이란 하나의 기능을 일련의 코드로 서브루틴(sub routine) 이라고도 한다.
구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환된다.
예를 들어 덧하기를 수행하는 add라는 함수가 있다고 하자.
add 함수가 호출되어 로직이 차례로 진행되고 마지막에는 반환된다.
함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있다.
add함수는 더하기를 수행한다. 그런데 무엇을 더하는지는 다를 수 있다.
숫자 두개를 입력받아 더한다. 가장 좋은 성적 두개를 더한다. 두 거리를 더한다.
위의 문장에 더하는 주체는 다르지만 3가지가 나온다. 이때 add함수를 한번만 정의하고 호출만 하면 편하게 재사용 할 수 있다.
아래는 함수를 정의한 코드이다.
함수는 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성된다.
add 함수는 정수형(int) 로 결과 값을 반환하고 num1과 num2를 매개변수로 받을 수 있다.
반환값이 없을 경우에는 void로 함수 형을 선언하면 된다.
int add(int num1, int num2) {
int result;
result = num1 + num2;
return result;
}
다음은 함수 구현하기 예제이다.
아래에 main 메소드에서 addNum과 calSum과 sayHello를 호출하는 부분이 있다.
호출과 동시에 각각의 함수들에서 정의한 로직이 실행된다.
public static int addNum(int num1, int num2) {
int result;
result = num1 + num2;
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 n1 = 10;
int n2 = 20;
int total = addNum(n1, n2);
sayHello("안녕하세요");
int num = calcSum();
System.out.println(total);
System.out.println(num);
}
스택이란 함수가 호출될 때 지역 변수들이 사용하는 메모리이다.
함수의 수행이 끝나면 자동으로 반환된다.
메소드는 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수이다.
멤버 변수라고도 한다. 메서드를 구현함으로써 객체의 기능이 구현된다.
메서드의 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 작명하는것이 좋다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 16일차 (0) | 2022.02.08 |
---|---|
패스트캠퍼스 챌린지 15일차 (0) | 2022.02.07 |
패스트캠퍼스 챌린지 13일차 (0) | 2022.02.05 |
패스트캠퍼스 챌린지 12일차 (0) | 2022.02.04 |
패스트캠퍼스 챌린지 11일차 (0) | 2022.02.03 |