일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- java기초
- javabasic
- 패캠챌린지
- 직장인인강
- ncs
- 자바
- 리눅스
- 자바예제
- java
- 패스트캠퍼스후기
- 데이터베이스
- 웹
- 자바기본
- 자바연습문제
- 스프링
- DesignPattern
- 직장인자기계발
- Spring
- DB
- 재택근무
- 패스트캠퍼스
- 국비
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 디자인패턴
- linux
- js
- String
- 디자인
- 자바기초
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 04일차 본문
변하지 않는 상수와 리터럴, 변수의 형 변환
상수
프로그래밍을 하다 보면 변하지 않는, 즉 고정된 수가 필요한 경우가 있다.
예를 들어 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바이트)]
이렇게 되는데 왼쪽에서 오른쪽으로의 형변환은 자동으로 되지만,
반대로 오른쪽에서 왼쪽으로 형 변환할 경우에는 컴파일 에러가 나기 때문에 사용자가 캐스팅(형 변환)을 해줘야 한다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 06일차 (0) | 2022.01.29 |
---|---|
패스트캠퍼스 챌린지 05일차 (0) | 2022.01.28 |
패스트캠퍼스 챌린지 03일차 (0) | 2022.01.26 |
패스트캠퍼스 챌린지 02일차 (0) | 2022.01.25 |
패스트캠퍼스 챌린지 01일차 (0) | 2022.01.24 |