[Must Have Java][Chapter 07] 매서드와 변수의 사용 가능 범위

허다람·2024년 5월 22일
post-thumbnail

[Must Have] 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.

💡 학습 목표
메서드를 만들고 사용하는 방법과 변수의 사용 가능한 범위를 알아보자.

1. 메서드 정의하기

메서드의 특징

  • 어떤 기능을 제공한다.
  • 메서드의 형태는 뒤에 소괄호가 붙어 있다.

다음은 더하기 기능을 자바에서 구현해놓은 메서드이다. 기능을 구현하는 것을 메서드를 정의한다고 말한다.

int addTwoNum (int num1, int num2)
{
	int result = num1 + num2;
    return result;
}
// addTwoNum : 메서드명. 알기 쉬운 단어를 여러 개 이용하여 메서드 기능과 관련 있는 이름으로 만들고, 
// 			카멜 표기법을 사용하되 첫 글자를 소문자로 작성.
// (int num1, int num2) : 매기변수. 매개변수는 메서드에 전달되는 입력값을 나타낸다.
//			메서드 바깥의 값을 메서드 안으로 전달시켜준다고 해서 매개변수라도 부른다.
// int : 반환형. 메서드에서 처리한 기능의 결과로 int 형의 결과를 반환해준다고 정의한다.
//		반환하는 자료형에 따라 int, long, String 등을 적으면 된다. 반환 값이 없을 경우 void라고 표시해준다. 
// 		매개변수는 여러 개일 수 있지만 반환형은 무조건 하나이다.
// { } : 코드 블록. 코드 블록이 실행되면서 더하기 기능을 수행. 
// return : return 예약어. 더하기 기능의 결과를 메서드 바깥으로 반환. 
//			이때 결과는 정의한 자료형으로 반환해야 한다. 
//			만약 void로 지정해서 반환하는 값이 없다면 return 예약어를 사용하지 않는다.

다음 코드에선 매개변수 유무, 반환값 우뮤에 따라 메서드 조합 네가지를 볼 수 있다.

// 매개변수 없고 반환 없는 메서드
sayHello();

// 매개변수 있고 봔환 없는 메서드
addTwoNum1(2,4)

// 매개변수 없고 반환 있는 메서드
int age = getAge();

// 매개변수 있고 반환 있는 메서드
int sum = addTwoNum2(1,5);

2. 메서드 종료하기

return은 어떤 값을 반환하는 데 사용하는 예약어지만 메서드 기능을 중간에 종료하는 데도 사용한다.

public static void divide(int num1, int num2)
{
	if(num2 == 0)
    {
    	System.out.println("0으로 나눌 수 없습니다.");
        return;
    }
}
// 나눗셈 연산중 num2가 0으로 나누면 에러가 발생한다. 
// 이런 경우에 return은 어떤 값을 반환하는 용도가 아닌 메서드를 해당 지점에서 종료시키는 용도로 사용된다.
반복문, switch문에서 사용한 break는 해당 문장의 중괄호를 빠져 나오지만 return은 메서드를 종료시킨다.

return의 용도정리

  • 메서드를 호출한 지점으로 값 반환
  • 메서드 종료

3. 변수의 사용 가능 범위

자바에서 변수는 사용할 수 있는 범위에 따라 클래스 변수, 지역 변수, 매개변수 등으로 구분할 수 있다. 이런 변수들은 사용할 수 있는 범위가 지정되어 있다.

변수 사용 규칙

  • 같은 영역에는 같은 이름의 변수가 존재할 수 없다.
  • 포함된 작은 영역 쪽에서 포함시킨 큰 영역 쪽의 변수는 사용할 수 있지만, 반대로는 안된다.

핵심 요약

profile
나 java봐라

0개의 댓글