일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nunjucks
- ExpressJS
- nodejs
- Passport
- typescript
- Board
- Switch 사용불가
- jest.config.mjs
- Glob Pattern
- react-router-dom
- sequelize
- mysql
- JEST
- Today
- Total
게으른 나르의 코딩
Method(함수) 과 Return 본문
Method(함수)
메소드는 객체의 동작에 해당하는 중괄호{} 블록을 말한다.
메소드를 호출하게 되면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행된다.
메소드의 장점
1. 모듈화 : 메소드를 기능별로 작성해 필요한 기능만 조합 가능하다.
2. 간략화 : 반복되는 문장을 밖으로 빼내어 소스코드들로부터 간결하게 만들 수 있다.
3. 수정 용이 : 프로그램 오류를 수정하기가 쉽다.
4. 재사용성 : 한번 작성한 메소드를 다시 사용할 수 있다.
메소드 선언
메소드 선언은 선언부(리턴타입, 메소드이름, 매개변수선언)와 실행 블록으로 구성된다.
리턴타입 메소드이름(매개변수 선언) {
실행할 코드를 작성하는 곳;
return 리턴값; or return;
}
리턴타입
리턴타입은 메소드가 실행 후 리턴하는 값의 타입을 말한다.
메소드는 리턴값이 있을 수도 있고 없을 수도 있다.
리턴 값이 없을때에는 리턴타입을 void로 해줘야한다.
리턴타입 앞에는 ***static*** 을 무조건 적어줘야한다.
메소드 이름
규칙
1. 숫자로 시작하면 안되고, $와_를 제외한 특수문자를 사용하지 말아야한다.
2. 관례적으로 메소드명은 소문자로 작성한다.
3. 서로 다른 단어가 혼합된 이름이라면 뒤이어 오는 단어의 첫머리 글자는 대문자로 작성한다.
매개변수 같은 경우는 선언을 안하고 빈공간으로 둬도 된다. 그리고 리턴타입과 매개변수의 데이터타입이 달라도 상관없다.
리턴(return)문
리턴값이 있는 메소드
메소드 선언에 리턴타입이 있는 메소드는 반드시 리턴(return)문을 사용해서 리턴값을 지정해줘야한다.
return이 없게 되면 컴파일 오류가 발생한다. return값은 무조건 메소드의 리턴타입과 같은 타입으로 돌아가야한다.
return 리턴값;
return문 이후의 실행문은 결코 실행되지 않기 때문에 이 점 주의하면서 맨 마지막에 사용하여야한다.
리턴값이 없는 메소드(void)
void로 선언된 리턴값이 없는 메소드에서도 return문을 사용할 수 있다.
return;
함수 출력
함수 출력에 대한 예들(출력을 어디에 할건지 먼저 생각해야된다.)
1. main함수에서 출력하게 되면 다른 함수에서 return
->함수호출과 동시에 출력
->변수를 주면서 리턴값을 저장할 것인지
ex) 메소드를 이용해서 총합변수를 구하는 식(main함수에서 출력)
public class 파일명 {
public static void main(String[] args) {
System.out.println(in(3)); //in이라는 함수호출과 동시에 출력
}
static int in(int a) {
int sum = 0;
for(int i =0;i<a;i++) {
sum+=i;
}
return sum;
}
이런식으로 main함수에서 출력을 하면서 함수호출을 하게되면 그 함수에 return값을 줘서 사용할 수 있다.
2. 함수에서 출력을 할거면 리턴타입,리턴문 필요없이 void 반환형을 써줘야한다.
ex)메소드를 이용해서 함수를 구하는 식(다른 함수에서 출력)
public class 파일명 {
public static void main(String[] args) {
in(3);
}
static void in(int a) {
int sum = 0;
for(int i =0;i<a;i++) {
sum+=i;
}
System.out.println(sum); //출력을 main함수에서 하는게 아니라 다른 함수에서 출력하기 때문에 void로 적어준다.
}
'Languages > Java' 카테고리의 다른 글
File Input&Output(수업에서 더 진도 나가면 추가) (0) | 2021.07.03 |
---|---|
지역변수와 전역변수 (0) | 2021.07.03 |
String 클래스 (0) | 2021.07.03 |
break 와 continue (0) | 2021.06.28 |
배열(+2차원 배열,System.arraycopy(),for~each문 ) (0) | 2021.06.28 |