본문 바로가기
Java/Java

[Java] 메소드와 변수의 스코프(Scope)

by 기록하는_사람 2022. 10. 13.

메소드

📌 메소드

: 함수의 일종.

  클래스 바깥에 작성할 수 없음.

 

📌 보통 자바에서 메소드 이름을 설정할 때, 첫 문자는 소문자로 시작함.     

      둘 이상의 단어를 사용할 때는 대문자로 구분지어 사용함. (예. printInfo)

 

📌 main 메소드

: 자바 프로그램은 main 메소드에서 실행 시작함.

  public static void로 선언하며, String[] args로 실행 인자를 전달 받음. 

 

💡 main 메소드의 호출은 클래스 외부이므로, public으로 선언함.

    main 메소드는 인스턴스가  생성되기 전에 호출하므로, static 선언함.

public static void main(String[] args) {
    ...
}

 

📌 메소드 형식

- 반환형 : 반환 값의 자료형. 반환 값이 없는 경우, void 사용. 

[반환형] [메소드명] ( [매개변수] ) {
    ...
    return [반환값];
}

 

📌 return 

: 메소드 안에 return을 사용해 결과값을 반환할 수 있음.

  return이 호출되면 메소드가 종료됨. 

 

변수의 스코프(Scope)

📌 변수의 스코프(Scope)

: 변수의 접근 가능 영역.

  변수가 존재할 수 있는 영역.

 

📌 중괄호로 특정 영역을 감싸면, 변수에 관한 별도의 스코프가 형성됨.

: 중괄호 내에서만 접근이 가능.

  중괄호를 지나면 소멸되고, 접근이 불가능해짐.

 

📌 지역 변수(Local Variable)

: 중괄호 내에 선언된 변수들.

  선언된 지역을 벗어나면 메모리 공간에서 소멸되며, 접근이 불가능해짐. 

 

📄 Test.java

package test;

public class Test {
	public static void test(int n) {
		int num = 10;
		
		if(num == n) {
			System.out.println("num == n");
		}
		else {
			System.out.println("num != n");
		}
	}
	
	public static void main(String[] args) {
		int num = 1;
		
		{
			int num2 = 2;
			num2++;
			System.out.println(num2);  // 3
		}
		
		// System.out.println(num2);  // 컴파일 오류. 
		
		test(100);  // num != n
		test(10);  // num == n
	}

}

댓글