🧑🏻💻 코드스테이츠에서 공부한건 모자른거같기도하고 아무래도 기초가 튼튼하면 뒤에도 더 이해가 쉬울거같아
오늘 다시 변수 등 기초에 대해 복습 및 블로깅을 할 예정이다.
물론, 처음부터 완벽한 포스팅이 되면 좋지만 언제든지 다시 깨닫게되면 수정을 거칠 예정이다.
변수란 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 말한다.
String name = "Minthug";
를 할당한 name
이 바로 변수이다.
변수뿐만 아니라 클래스, 메소드 등의 이름을 짓는데 반드시 지켜야할 규칙이 있다고 한다.
⚑변수의 이름은 해당 변수에 저장될 데이터의 의미를 잘 나타내도록 짓는것이 좋다
기본형 변수는 실제 연산에 사용되는 변수이다
자바에선 8가지 종류의 기본형 변수가 제공되고 있다.
정수형 : byte,short,int,long
실수형 : float, double
문자형 : char
논리형 : boolean
참조형 변수는 8개의 '기본형 변수' 를 사용하여 직접 만들어 사용하는 변수를 말한다.
변수를 사용하기전엔 반드시 변수를 선언하고 초기화를 해야한다.
먼저 변수의 선언만 하기는 "변수를 선언하여 메모리 공간을 할당받고, 나중에 변수를 초기화 하는 방법이다"
이렇게 선언만 된 변수는 초기화하지 않았으므로, 해당 메모리 공간에는 알 수 없는 쓰레기값만 들어가 있다.
그러니 선언만 된 변수는 꼭 초기화한 후에 사용해야한다.
int num; // 변수의 선언
System.out.println(num) // 오류 발생
num = 20; // 변수의 초기화
System.out.println(num). // 20
⚠️ 자바에선 변수를 선언만하고 초기화하지않은 변수는 사용할 수 없다
그래도 사용하려고하면 자바 컴파일러에서 오류를 발생시킬 것이다.
int num1,num2; // 같은 타입의 변수를 동시에 선언
double num3 = 3.14; // 선언과 동시에 초기화
double num4 = 12.25, num5 = 5.55 // 같은 타입의 변수를 동시에 선언과 초기화
⚑ 선언하려는 변수의 타입이 서로 다르면 동시에 선언할 수 없다
(int num1 = 4, num5 = 5.55 // -> error)
또한 이런 경우도 할수 없다
double num1,num2; // 같은 타입의 변수를 동시 선언
...
num1 = 1.23, num2 = 4.55; // 하지만 이미 위에서 선언된 여러 변수를 동시에 초기화 할수없음.
상수란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 말한다.
하지만 상수가 변수와 다른 점은 프로그램이 실행되는 도안 메모리에 저장된 데이터를 변경할 수 없다는 것
상수 역시 변수처럼 이름을 가지고 있는 메모리 공간으로, 선언과 동시에 반드시 초기화를 해주어야한다.
c++에선 const 키워드를 통해 상수를 선언하지만, 자바에선 final 키워드를 이용해 선언한다.
final int AGE = 29;
⚑ 자바에서 상수의 이름은 일반적으로 모두 대문자 사용하여 선언한다
그리고 여러 단어로 이루어진 이름의 경우에는 언더스코어를 사용해 구분한다 (START_JAVA)
리터럴이란? 그 자체로 값을 의미하는것을 말한다
즉, 변수와 상수와 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않다.
int var = 30; // 30 <이 리터럴이다
final int AGE = 29; // 29 < 가 리터럴이다.
자바에서 3.14와 같ㄹ은 실수형 리터럴을 그대로 사용하면, 해당 리터럴은 실수형 타입 중에서도 double형으로 인식할 것이다.
하지만 실수형 리터럴 맨 뒤에 F나 f를 추가하면, 자바는 해당 실수형 리터럴을 float형으로 인식할 것이다.