프로그래밍 언어/Java

[JAVA] 변수정리 #멤버변수? 지역변수? 기본형? 참조형?

반응형

변수[Variable]

(1) 기준 1: 유효 범위
   <1> 멤버 변수
       1. 객체(소유)
       2. 클래스(소유)
   <2> 지역변수
       1. 선언 초기화
       2. 파라미터

(2) 기준 2: static 여부
   <1> 클래스(소유) == 정적 변수 == static
   <2> 객체(소유) == 동적 변수 == 객체 == instance

(3) 기준 3: final 여부
   <1> 변수
   <2> 상수 == final변수

객체, 인스턴스(즉석) => 찍어내는 것(객체)

(4) 기준 4: 메모리 할당방식
   <1> 기본형(primitve type) 8가지
       1> 형 변환 방향(자동형 변환)
            byte(1) ▶ short(2) ▶int(4) ▶long(8) ▶ float(4) ▶ double(8)
                           char(2)
            boolean(1)

#Wrapper : Byte, Short, Char, Int, Long, Float, Double, Boolean
#정수형 : byte, shor, int, long
           > 연산 시 int형으로 바뀐다.

       2> 범위
           -byte: 경우의 수 2^8 (-128~127)
           -short: 경우의수 2^16 (-2^15~2^15-1)
           -char: 경우의수 2^16 (0~2^16-1)
           -int: 경우의수 2^32 (-2^31~2^31-1)
           -long: 경우의수 2^64 (-2^63~2^63-1)
           -float: 경우의수 2^32 
           -double: 경우의수 2^64
           -boolean: false 또는 true

       3> 기본형의 존재 이유 : 실행의 효율성

    <2> 참조형(reference type): 기본형을 제외한 모든 타입
           Object
              ▲
           Mother
              ▲
            child

cf) 형 변환(type casting)
    -자동형 변환(Implicit Type Casting) == 암시적형변환 == 묵시적형변환
       -by JVM
    
    -강제형 변환(Explicit Type Casting) == 명시적형변환
       -by 개발자(직접)

 

        

반응형