본문 바로가기
JAVA/이재환의 자바 프로그래밍 입문

[Java] Ch.7 메서드와 변수의 사용 가능 범위

by ♡˖GYURI˖♡ 2023. 10. 16.

메서드 정의하기

메서드의 특징

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

public class Ex01_MethodType
{
    public static void main(String[] args)
    {
        // 매개변수 없고 반환 없는 메서드
        sayHello();

        // 매개변수 있고 반환 없는 메서드
        addTwoNum1(5, 2);

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

        // 매개변수 있고 반환 있는 메서드
        int sum = addTwoNum2(1, 2);
        System.out.println("합은 " + sum);
    }

    public static void sayHello() 
    {
        System.out.println("Hello");
    }

    public static void addTwoNum1(int num1, int num2) 
    {
        int nResult = num1 + num2;
        System.out.println(nResult);
    }

    public static int getAge() 
    {
        return 20;
    }

    public static int addTwoNum2(int num1, int num2) 
    {
        return num1 + num2;
    }   
}

 

 

메서드 종료하기

return의 용도

  • 메서드를 호출한 지점으로 값 반환
  • 메서드 종료
public class Ex02_ReturnForExit
{
    public static void main(String[] args)
    {
        divide(4, 2);
        divide(6, 2);
        divide(8, 0);
    }

    public static void divide(int num1, int num2) 
    {
        if (num2 == 0) 
        {
            System.out.println("0으로 나눌 수 없습니다.");
            return;
        }
    
        System.out.println("나눗셈 결과: " + (num1 / num2));
    }
}

 

 

변수의 사용 가능 범위

  1. 같은 영역에는 같은 이름의 변수가 존재할 수 없음
  2. 포함이 된 작은 영역 쪽에서 포함시킨 큰 영역 쪽의 변수는 사용할 수 있지만 반대는 불가
public class Ex03_VariableScope
{
    public static void main(String[] args)
    {
        boolean myState = true;
        int num1 = 11;
        
        if (myState) 
        {
            //int num1 = 22; -> ERROR
            num1++;
            System.out.println(num1);
        }

        {
            int num2 = 33;
            num2++;
            System.out.println(num2);
        }
        
        //System.out.println(num2); -> ERROR
        
        for (int i=0; i<3; i++) 
        {
            System.out.println(i);
        }
        
        //System.out.println(i); -> ERROR
    }
}

 

 

▼각 요소별 이름과 범위

'JAVA > 이재환의 자바 프로그래밍 입문' 카테고리의 다른 글

[Java] Ch.9 클래스의 기초  (1) 2023.10.17
[Java] Ch.8 계산기 만들기  (0) 2023.10.16
[Java] Ch.6 제어문  (1) 2023.10.16
[Java] Ch.5 콘솔 출력과 입력  (1) 2023.10.13
[Java] Ch. 4 연산자  (1) 2023.10.13