변수

Single Ko·2023년 4월 3일
0

java

목록 보기
8/28

변수

• 변수는 프로그램이 실행되는 동안 어떤 값을 저장하기 위해 사용하는 공간입니다.
• 변수는 프로그램이 실행될 때마다 저장되어 있는 값이 바뀔 수 있습니다.
• 변수에는 하나의 값만 저장할 수 있습니다.
• 변수에는 한가지 타입의 값만 저장할 수 있습니다

자바에서 정수의 2진수 표현 방법은 "부호와 2의 보수" 표현방법을 사용합니다.

자바의 primitive type

-> 정수형 데이터 타입, 실수형 데이터 타입, 논리형 데이터 타입

  • boolean(1byte) - 참, 거짓
  • char(2byte) - 음수가 없는 unsigned형태. 문자를 저장하는 타입.
  • byte(1byte) - -128 ~ 127
  • short(2byte) - 자바에서는 거의 사용되지 않는다.
  • int(4byte) - 자바의 정수 연산 기본 타입! 약 -21억~21억 사이의 수 처리
  • long(8byte) - (-100경 ~ 100경)사이 수 처리 가능. int 타입으로 처리가 불가능한 범위의 값일때 사용. 보통 숫자뒤에 L or l을 붙인다.
  • float(4byte) - 실수를 저장하는 변수 타입.
  • double(8byte) - 자바의 기본 실수 타입. 바이트가 클 수록 실수의 정확성이 높아짐.

Reference Type - 참조 타입

  • 기본타입을 제외한 나머지. heap영역에 저장되는 실제객체.
  • 참조타입 변수는 스택 영에서 실제 객체들의 주소를 저장하여 객체를 사용할 때 마다 변수에 저장된 객체의 주소를 불러와 사용하는 방식이다.

기본형 타입과 참조 타입

-> 메모리에 저장되는 방식에 큰 차이가 있다.
Stack 영역에 값 자체가 저장되는 기본형 타입, Heap 영역에 객체가 생성되고 Stack 영역에 객체의 주소값이 저장되는 참조 타입!

변수간이 대입 연산

-> 기본형 타입은 값 자체가 복사되어 새로운 변수에 저장. 원본 변수와 독립적인 값.
하지만 참조형 타입은 주소값이 복사되어 변수에 저장되므로 원본 변수와 같은 객체를 가르킴.(객체값을 변환시 생각지도 못하게 다른 변수의 값이 바뀔 수 있음)

리터럴

코드 내에 직접 입력된 값(데이터)를 의미한다. 문자열에 저장된 숫자 "3"은 그 자체로 숫자 3을 의미하는 리터럴이다.

변수의 scope and lifetime

영역으로 알아보는 맴버변수와 지역 변수.

  • Scope - 영역, 변수에 접근하거나 접근 할 수 있는 유효 범위/ 영역.

  • Lifetime - 변수가 메모리에 살아있는 기간.

  • 맴버 변수 : 클래스 안에 선언된 변수. 맴버 변수에는 두가지 타입이 있다.

    • 인스턴스 변수
      스코프 ) 정적 메서드를 제외한 클래스 전체.
      라이프타임) 객체가 메모리에 남아 있을 때까지

    • 클래스 변수
      스코프 ) 클래스 전체.
      라이프타임) 프로그램이 끝날 때까지 또는 클래스가 메모리에 로드되는 동안

  • 지역 변수 : 그 지역 안에서 초기화 해주어야 한다.

    • 스코프 ) 선언된 블록{} 내에 있음.
    • 라이프 타임) 컨트롤이 선언된 블록을 떠날 때까지
profile
공부 정리 블로그

0개의 댓글