[JAVA] 메서드와 return문

2021. 7. 15. 11:15·Computer Science/Programming Language

메서드란?

메서드란?

코드의 중복을 제거하기 위해서 { 해당 문자들 }을 묶은 것으로, 값을 입력받아 결과를 출력(반환)한다. 

 

※ 메서드 vs 함수

더보기

메서드는 클래스 안에 들어있어야 하는 것

함수는 클래스에 독립적임

 

메서드의 장점?

- 중복 코드 제거

- 관리 용이

- 재사용 가능 

 

참고로, 하나의 메서드는 하나의 기능만 수행하도록 작성해야 함

 

메서드 = 선언부 + 구현부

반환타입 메서드이름 (타입 변수명, 타입변수명, ...) // 선언부
{												// 구현부
	//코드			  							// 구현부
}												// 구현부
int add(int x,int y){
	int res = x+y;
    return res;
}

 

메서드 호출

메서드 이름(값1, 값2, ...);

위의 형식과 같이 메서드를 호출하는데, return type에 따라 작업 결과를 저장해야 할 경우는 주의해야 함!

 

→ 예시코드

public static void main(String[] args){
	MyMath mm = new MyMath();
    
    //add 메서드 호출
    long res1 = mm.add(5L,3L);
    double res2 = mm.add(5L,3L);
    
    System.out.println("res1 : "+ res1);
    System.out.println("res2 : "+res2);
}

class MyMath{
	long add(long a, long b){
    	long res = a+b;
        return res;
   }
   
   long substract(long a, long b){ return a-b}
   
   //...
}

★ 메서드는 클래스 영역에만 정의를 저장

 

메서드의 실행 흐름

1. 객체 생성(인스턴스 생성)

2. 메서드 호출- 메서드의 매개변수에 인수가 각각 대입됨

3. 메서드의 모든 문장이 끝나거나 return을 만나면 반환

 

return문

return문이란? 

실행 중인 메서드를 종료하고 호출한 곳으로 되돌아가도록 한다. 

return;
return a;

 

반환 타입이 void일 경우 생략 가능, 컴파일러가 자동 추가됨

반환 타입이 void가 아닐 경우, 반드시 return문 필요

 

참고로, 다음의 경우에 "return문이 없다"는 에러가 발생한다. 

int max(int a,int b){
	if(a>b) return a;
}

Why? 참일경우엔 a를 반환하지만, 거짓일 경우에 어떤 값을 반환해야하는지 없기 때문! 

 

반환값

말 그대로 return되는 값으로, void type이 아닐 때, return 옆에 쓰는 것

반환 type과 반환값의 type이 일치해야 함

 

저작자표시 비영리 변경금지 (새창열림)

'Computer Science > Programming Language' 카테고리의 다른 글

[JAVA] 기본형 매개변수와 참조형 매개변수, 참조형 반환타입  (0) 2021.07.16
[JAVA] 호출 스택(call stack)  (0) 2021.07.16
[JAVA] 자바에서의 변수 종류  (0) 2021.07.13
[JAVA] 클래스의 정의  (0) 2021.07.13
[Java] 객체의 생성과 사용  (0) 2021.07.10
'Computer Science/Programming Language' 카테고리의 다른 글
  • [JAVA] 기본형 매개변수와 참조형 매개변수, 참조형 반환타입
  • [JAVA] 호출 스택(call stack)
  • [JAVA] 자바에서의 변수 종류
  • [JAVA] 클래스의 정의
BS Kwak
BS Kwak
  • BS Kwak
    Slow but steady wins the race
    BS Kwak
  • 전체
    오늘
    어제
    • 카테고리 (161)
      • Project (2)
      • Next.js (3)
      • HTML+CSS+JS (17)
      • Computer Science (139)
        • Programming Language (52)
        • 자료구조와 알고리즘 (75)
        • Digital circuit (3)
        • 기타 error (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    mysql error
    cmd error
    해시
    c++error
    런타임 에러
    leetcode
    오블완
    LNK2001
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
BS Kwak
[JAVA] 메서드와 return문
상단으로

티스토리툴바