ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java | Variable 변수, Scope, Constant 상수
    JAVA/JAVA 2020. 1. 15. 22:22

    Variable 변수


    Variable Declaration 변수 선언

    메모리(RAM)에 문자, 숫자, 논리적인 값을 저장할 수 있는 공간을 생성하는 것

    • 메모리의 일정 공간을 특정해서 거기에 데이터를 저장
      정확한 위치는 알 수 없음
    • 데이터를 저장하거나 불러올 때 사용
      변수가 주소값으로 사용됨
    • 컴퓨터는 데이터의 위치를 숫자로 지정하지만
      사람이 그렇게 하기는 어렵기 때문에 변수의 이름을 지정해서 사용
    • 변수명은 중복을 허용하지 않음

    형식 1

    변수를 먼저 선언한 뒤에 변수 값을 초기화

    public class VarTest {
        public static void main(String[] args) {
            //자료형 변수명;
            int age;
            age = 23;
            System.out.println("올해 제 나이는 : "+age+"입니다.");
            // 올해 제 나이는 : 23입니다.
        }
    }

    ※ 메모리 내부에 age변수가 저장될 수 있는 공간이 생성됨

    형식 2

    변수를 선언하는 동시에 변수 값을 초기화

    public class VarTest {
        public static void main(String[] args) {
            //자료형 변수명;
            int age = 23;
            System.out.println("올해 제 나이는 : "+age+"입니다.");
            // 올해 제 나이는 : 23입니다.
        }
    }

    형식3

    자료형이 같은 경우 한 번에 여러 개의 변수 선언 가능

    public class VarTest4 {
        public static void main(String[] args) {
        int num1, num2, num3;
    
        // 여러 변수 선언과 동시에 변수 값 초기화 가능
        int num4 = 1, num5 = 2, num6 = 3;
        System.out.println(num4+num5+num6); // 6
        }
    }

    변수 특성

    • 변수는 값을 출력하기 전에 초기화되어 있어야 함
      초기화하지 않고 출력시 에러 발생
    • 변수는 중간에 값이 바뀔 수 있음
      가장 마지막 값이 최종적으로 저장됨
    public class VarTest4 {
        public static void main(String[] args) {
            int num;
            System.out.println(num);
            /* 에러 발생, 소스코드를 실행하기 위해서는
            주석처리 하거나, 삭제하거나, num을 초기화해야함 */
    
            num = 23;
            System.out.println(num);
            // 23
        }
    
    }

    변수 종류

    • 멤버 변수(Member Variable) : 클래스 내부에, 메서드 외부에 선언된 변수
    • 지역 변수(Local Variable) : 메서드 내부에 선언된 변수
      선언된 메서드 외부에서는 접근할 수 없는 변수
      {블럭단위}로 지정하며, 해당 블럭 밖에서는 사용할 수 없음
    public class VarTest5Scope {
        int su3;
        // 멤버 변수 Member Variable : 클래스 내부에 선언된 변수
        public static void main(String[] args) {   
        int su1 = 10; 
         // 지역 변수 Local Variable : 메서드 내부에 선언된 변수
        }
    }

    Scope 변수 범위

    Scope : 변수가 사용될 수 있는 범위를 나타냄

    public class VarTest5Scope {
        public static void main(String[] args) {
        int su1 = 10;
        {// 블럭Block 지정
            int su2 = 20;
            System.out.println("su1값: "+su1);
            System.out.println("su2값: "+su2);
           /* su1값: 10 
            → su1은 이 블럭을 포함하는 메서드에 선언되었기 때문에 정상 출력됨
            su2값: 20 */
        }
        System.out.println("su2값: "+su2);
           //su2가 선언된 블럭 밖에서 su2를 호출하고 있기 때문에 에러 발생
        }
    }

    ※ su1 변수 scope : main 메서드 전체
    su2 변수 scope : main 메서드 내부에 su2가 선언된 블럭


    Constant 상수

    값이 정해지면 중간에 바뀌지 않는 수

    FINAL

    변수 앞에 작성하는 예약어이며 해당 변수를 상수로 변환

    관례적으로 상수는 이름을 대문자로 작성

    public class VarTest4 {
        public static void main(String[] args) {
            final int NUM7 = 40;
            NUM7 = 22; // NUM7은 값이 변할 수 없기 때문에 에러 발생
        }
    }

    소스코드 작성시 데이터를 저장하는 변수와 상수에 대해 알아보았습니다.

    변수와 상수는 어디에 선언되었느냐에 따라서 접근 가능 범위가 달라지기 때문에

    Scope에 대해 알고 있으면 어디에 선언한 변수를 어떻게 사용해야 하는지에 대해 알 수 있습니다.

    'JAVA > JAVA' 카테고리의 다른 글

    Java | Operator 연산자  (0) 2020.01.16
    Java | Data Type 자료형  (0) 2020.01.15
    Java | 기본 문법  (0) 2020.01.15
    Java | 이클립스 Package 관리  (0) 2020.01.15
    Java | Eclipse 개요 & 단축키 정리  (0) 2020.01.15

    댓글

Designed by Tistory.