10. 변하지 않는 상수와 리터럴, 변수의 형 변환

 


강의 내용 정리

상수

1년 = 365일. 에서 365처럼 변하지 않는 값을 상수라 표현하며.

변수의 데이터형 앞에 final 을 입력하여 상수를 생성 할수 있습니다

상수의 명명 규칙은 오직 대문자 입니다.

final int ONEYEARDAYS = 365;

다른 변수들과 마찬가지로 상수를 선언시 값을 반드시 대입할 필요는 없습니다.

하지만 차후에라도 상수에 한번이라도 값이 입력되면 다른 값으로 변경되지 없습니다.

단어 학습

변수에 저장되어 있는 값을 가져 오는 경우를 : 래퍼런스 한다, 참조한다 라고 표현 합니다.

변수에 값을 대입하는 경우에는 : 어사인 한다 라고 합니다.

가독성은 : 리더빌리티 라고 합니다. 예문) 상수를 사용하면 리더빌리티가 뛰어나다.

상수를 사용하는 이유는 : 값 자체가 갖고있는 의미가 있다면 . 그 값의 의미를 표현하는 단어가 값보다 코드의 가독성을 높여주기 때문 입니다.

int 보다 큰 값을 입력하고 싶을때 리터널 끝에 L을 붙여서 long 변수에 넣는데 이렇게 L을 붙이는 방식을 리터널이라고도 합니다.

출처 : https://mine-it-record.tistory.com/100

 

 

상수풀(Constant pool)

값이 언제 메모리에 탑제 되는가? 라는 관점에서의 메모리 영역의 구분을 시작해보자.

코드의 실행시 메모리 탑제 과정

하드 -->(로드) --> 메모리 

  1 ) 실행되기 전부터 기본적으로 메모리를 할당받게 되는 값들이 있습니다 ( 상수 & 스테틱 )

    이 친구들이 실행이 끝날때까지 메모리가 탑제 되어 있는 공간을 상수풀이라고 합니다.

 

다른 자료형간의 계산 방법

실수 + 정수는 . 양쪽의 데이터형태가 표현하는 방법과 저장하는 방법이 전혀 다르기 때문에.

 필수적으로 형변환이 이루어 지게 되요.

묵시적 형변환과 명시적 형변환 이라는 단계를 거치면서 계산을 하게 되며.

묵시적 = 자동

명시적 = 수동

묵시적 형변환  = 두 값중에서 메모리 용량이 큰 자료형으로 형변환이 일어난뒤 계산됩니다. 4byte - > 8byte

3( int : 4byte ) + 1.000( double : 8byte ) =  4.000 ( double : 8byte )

명시적 형번환은 강제형변환이라고도 해요.


 

강의 내용 체크

단어 정리

리터럴상수풀 정리.

토막상식 : 상수는 수학에서는 방정식에서 변하지 않는수 . 수학에서는 "2 + 𝓍= 5"에서 2,5는 상수이고 𝓍 변수이다.

리터럴(literal) : yes or no. 문자 .숫자 등의 변수에 넣을려는 값을 뜻하며 엄밀히는 값 자체에서도 데이터 타입을 유추할수 있도록 표현된 것을 뜻합니다.  0.31은 double로 ""은 문자열 , ''은 char , 0x, 354f , char d= 42 에서 42의 값을 말 합니다. 

그렇기 때문에 리터럴에는 변수와 상수에 들어가는 값 을 구분할수 없습니다.

 

상수풀

위에서 정리된 것처럼 한번 탑제되면 프로그램이 종료 될때까지 . 메모리에 저장되는 특징을 가지고 있는데.기존의 변수의 생명주기는 메소드 내부에서 선언했을때 내부에서 생명주기가 끝나서. 메모리에서 소멸하지만.상수는 상수풀에 따로 저장되어 메소드가 종료되어도 계속 사용할수 있다고 해요.저장되는 공간은 Class와 같은 공간인데  Permanent area(고정영역)에 저장된다고 합니다.


 

학습 타이머


캠 스터디


 

스터디 그룹

https://open.kakao.com/o/g1mXVySd

 

온라인 강의 주소

패스트 캠퍼스에서 공지한 링크가 막혔습니다. 17일에 새로운 링크를 내려 주시면 수정 해야 할것 같습니다  : )

 

+ Recent posts