[신세계I&C KDT][Java 프로그래밍] #2 변수 variable (0308)

박현아·2024년 3월 8일
0

신세계아이앤씨 KDT

목록 보기
2/42

변수 (Variable)

1. 용도

: 데이터 저장 (기본형 데이터 및 참조형 데이터 저장 용도)

2. 사용 방법 3단계

1) 변수 선언

  • 데이터가 저장된 영역 확보 작업 (메모리에 저장되고 메모리 위치에 해당되는 이름 지정) 데이터 위치는 16진수
  • 언제든지 값이 변경될 수 있다
  • 데이터타입 변수명;
  • int num;, String name;

2) 변수 초기화

  • 생성된 변수에 처음 값을 저장하는 작업;
  • 변수명 = 값;
  • num = 2;, name = "박현아";

3) 변수 사용

  • System.out.println(num);
  • System.out.println(name);

3. 기본형 변수 vs 참조형 변수

1) 기본형 변수

  • 기본형 데이터를 저장하는 변수

2) 참조형 변수

  • 참조형 데이터를 저장하는 변수
  • 변수에는 주소값을 저장, 주소값을 따라가면 값이 있음

4. ★ 변수 종류 ★

: 변수 선언 위치와 용도에 따른 분류

1) 로컬 변수 (local variable)

  • 메서드 안에서 선언
  • 생성 시점 : 메서드 호출 시 변수 생성됨
  • 제거 시점 : 메서드 호출 후 작업이 모두 끝났을 때 (Life Cycle)
  • 생성 횟수 : 메서드 호출할 때마다 매번 생성되고 메서드 작업이 끝나면 매번 삭제됨
  • 일시적으로 사용할 목적으로 주로 사용됨
  • 저장 메모리 : stack
  • 선언만 하고 초기화 하지 않으면 자동 초기화 안 됨
  • 반드시 사용 전에 초기화 해야 된다 !!

2) 인스턴스 변수 (instance variable)

  • 메서드 밖에서 선언
  • 생성 시점 : 클래스 객체 생성할 때 (new 키워드 이용)
  • 제거 시점 : 클래스 객체가 제거될 때
  • 생성 횟수 : new 할 때마다 매번 생성
  • 저장 메모리 : heap
  • 선언하고 초기화하지 않으면 자동으로 기본값으로 초기화 된다

3) 클래스 변수 / 스태틱 변수 (class variable, static variable)

  • 메서드 밖에서 선언 + static 키워드
  • 생성 시점 : 프로그램 실행 시 (가장 빨리 만들어짐)
  • 제거 시점 : 프로그램 종료 시 (가장 빨리 삭제됨)
  • 생성 횟수 : 1번
  • 저장 메모리 : method area
  • 선언하고 초기화하지 않으면 자동으로 기본값으로 초기화 된다
  • 정수형 0, 실수형 0.0, 문자형 \u0000, 논리형 false, 참조형 null

5. 변수 특징

1) 변수명이 중복되면 안 됨
2) 로컬 변수는 사용 전에 반드시 초기화! 초기화 안 하면 컴파일 에러 발생
3) 변수를 인식하는 범위 (scope) : 블럭 (중괄호)
(cf. 자바스크립트 언어는 함수 scope를 따른다)

6. 상수 (Constant)

  • 상수는 값 변경 불가
  • final 키워드
  • 변수와 구별하기 위해 대문자로 지정 (관례)
  • final int NUM = 100;

7. 데이터형 변환

1) 자동형변환 (묵시적, promotion, up-casting)

  • byte (1바이트) -> short (2바이트) -> int (4바이트) -> long (8바이트) -> float (4바이트) -> double (8바이트)
  • char -> int
  • 정수형 중에서 int 보다 작은 타입의 연산 결과는 기본값인 int로 반환된다 (byte+byte= int, short+short= int)
  • 작은 데이터형과 큰 데이터형 결과는 큰 데이터형으로 반환된다 (정수형 + 실수형 = 실수형)

2) 강제형변환 (명시적, type casting, down-casting, 일반적으로 의미하는 형변환)

  • 큰 걸 강제적으로 작게 변환하는 것
  • 작은 타입 = (작은 타입) 큰 타입;

3) 참조형(클래스)도 형변환이 가능하다 !!!!!! 자바의 모든 데이터는 형변환이 가능하다 !!!!!!

8. 콘솔에 값을 출력하는 방법

-모니터에 출력하는 경우는 표준 출력 (standard output)
-반대로 키보드로 출력을 받는 경우는 표준 입력 (standard input)

1) System.out.println(값);

  • 새로운 줄에 출력
  • 반드시 하나의 값만 지정

2) System.out.print(값);

  • 새로운 줄 없이 현재 줄에 출력
  • 반드시 하나의 값만 지정

3) System.out.printf(" ", ...); (...은 가변 인자)

  • String name ="홍길동";
    int age = 20;
    System.out.printf("이름:%s, 나이:%d", name, age);
  • 정수값: %d
    실수값: %f
    문자값: %c
    논리값: %b
    문자열: %s

참고 사이트

0개의 댓글