5_java - 변수 생명 주기

jin·2022년 4월 21일
0

강의 정리한 첫번째 포스팅의 4번의 중괄호{}와도 관련된 내용이다.

이하 수업에서 배운 내용

public class Life01 {
  public static void main(String[] args) {
    int x = 10;
    if (true) {
      int y = 20;
      System.out.println("x = " + x);
      System.out.println("y = "+ y);
    } // y가 소멸하는 시기
    System.out.println("x = " + x); // x는 사용 가능하지만 y는 사용 할 수 없다.
// System.out.println("y = " + y); => if문 블록 안에서 선언된 변수는 소멸해서 출력불가
  } // x가 소멸하는 시기
}

또한 중괄호 {} 안에서 생명주기가 다 해 소멸한 변수는 다시 선언할 수 있다.

int a = 10;
  {
	int b = 20;
	System.out.println("{ } 안 b " + b);
  }
int b = 30; // {}서 쓰인 b는 소멸했으므로 다시 만들 수 있다.
System.out.println("{ } 밖 b " + b);

수업에서는 이렇게 예시를 들었지만 의미없이 {} 쓰이는지 궁금해서 질문을 했다.
실제적으로 이렇게 사용되지는 않으며 보여주기 위한 예시라는 답을 받았고 실행에도 에러가 없었다.
또한 if문에서 조건문의 범위에 해당하는 {}(스코프)를 생략할 수 있다.
예시)

int a=10, b=10;
if (a == b) 
  System.out.println("실행 O");
if (a != b)
  System.out.println("실행 X (1)");
  System.out.println("실행 X (2) "); // 중괄호 생략 if문은 한줄만 적용되므로 출력된다.

이와같이 허용되는 것과 별개로 정확한 코딩 습관과 가독성을 위해 지양하는 편이 좋다.

덤으로 java의 네 가지 변수와 생명주기는 참고로 알아두고 후에 수업 진행하면 정리하는걸로.

0개의 댓글