FIF's 코딩팩토리

패스트캠퍼스 챌린지 04일차 본문

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 04일차

FIF 2022. 1. 27. 22:11
반응형

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

 

상수

프로그래밍을 하다 보면 변하지 않는, 즉 고정된 수가 필요한 경우가 있다.

예를 들어 1년이 12개월이라는 사실은 변하지 않는다.

이러한 변하지 않는 데이터들을 반복적으로 사용할 때 상수로 사용하면 매우 유용하다.

이때 자바에서는 final이라는 예약어를 앞에 붙여 사용 하면 된다. final은 메소드나 클래스에도 붙여 사용할 수 있다.

final을 붙이면 아래처럼 수정할 수 없다.

다시한번 정리하자면 상수는 한번 선언한 후 변하지 않을 경우 사용하면 유용하다. 변한다고 하여도 final로 선언된 부분만 수정 하면 되기때문에 수정하기도 유용하다. 그렇지 않으면 하드코딩으로 일일이 다 수정해줘야 할 것이다.

        final int MAX_NUM = 100;
        
        MAX_NUM = 20;

 

리터럴

리터럴이란 프로그램에서 사용하는 숫자, 문자, 논리값을 뜻한다.

int num = 10; 이라고 하면 10이라는 데이터는 num이라는 메모리에 적재된다. 이때 이 10을 리터럴이라 한다.

정수 리터럴은 int, 실수 리터럴은 double, 논리 리터럴은 boolean에 저장된다.

그렇다면 이러한 데이터들은 언제 메모리에 적재될까? 

상수와 static이 붙은 데이터들은 컴파일 전 미리 메모리에 적재된다.

그렇지 않은 데이터들은 프로그래밍에서 호출될 때 메모리에 적재된다.

 

형 변환

서로 다른 자료형 간에 연산등의 수행을 위해 하나의 자료형으로 통일하는 것을 형 변환이라 한다.

형 변환에는 묵시적 형 변환과 명시적 형 변환이 있다.

바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어진다.

묵시적 형변환의 예로는 int를 dobule로 형 변환할 경우이다. int는 4바이트이고 double은 8바이트 이므로 형 변환이 돼도 문제가 없다.

작은 메모리에서 큰 메모리로 바뀌는 경우에는 문제가 없다.

 

하지만 명시적 형 변환이 일어날 경우 데이터 손일이 따를 수 있다.

double을 int로 형 변환 할 경우 8바이트가 4바이트로 되는것이기 때문에 그만큼의 데이터 손실이 따를 수 있으므로 주의해야 한다.

 

정리하자면

정수                                                                                                                실수

[ byte(1바이트) -> short(2바이트) -> int(4바이트) -> long(8바이트) ] -> [float(4바이트) -> double(8바이트)]

이렇게 되는데 왼쪽에서 오른쪽으로의 형변환은 자동으로 되지만,

반대로 오른쪽에서 왼쪽으로 형 변환할 경우에는 컴파일 에러가 나기 때문에 사용자가 캐스팅(형 변환)을 해줘야 한다.

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr




 

반응형
Comments