본문 바로가기
IT 돌고래/JAVA

[JAVA]자바의 세걸음 : 변수와 상수 그리고 자료형

by IT돌고래 2020. 1. 19.
반응형

안녕하세요.

IT 돌고래입니다.

자바의 변수와 상수 그리고 자료형에 대해서 한번 이야기를 하겠습니다.

 

1. 변수

변수란 프로그래밍 언어에 있어서 필수적인 존재입니다. 변수는 자바에만 있는 것이 아니라 예전부터 지금까지 사용하고 있는 C언어, C++ 언어 등 사용되고 스크립트 기반 언어에서도 변수는 사용됩니다.

그럼 왜 변수를 사용하는 걸까요?

프로그램은 여러 사람들이 사용하게 됩니다. 그렇게 되면 사람들마다 입력 값이 다르게 되고 여러 유저들이 요구사항에 맞는 데이터를 담아둘 공간을 필요성을 느낍니다.

그래서 나온 개념이 변수라는 개념입니다. 

변수라는 무엇이냐면 메모리에 데이터를 담을 수 있는 공간을 말합니다. 원론적으로 그렇지만 저는 사용자와 프로그래머가 값을 계속 변화시키기 때문에 변수라고 불린다고 설명을 합니다.

이렇게 두 가지 변수라는 것을 이해한다면 좀 더 수월하게 변수에 대해서 이해를 하실 수 있을 것 같습니다.

 

2. 기본 자료형

기본자료형은 예전 언어부터 사용을 했던 자료형들로 자바에서만 사용하는 것이 아닌 C언어, C++ 언어에도 똑같거나 비슷하게 사용되는 자료형들을 기본 자료형이라고 합니다.

byte a = 1;        //정수
short b = 2;       //정수
int c = 10;        //정수
long d = 20;       //정수
char ch = 'A';     //문자
float f = 3.0f;    //실수
double do = 5.12;  //실수  
boolean bo = true; //논리

<기본 자료형 변수 선언 및 초기화>

정수형 byte 1Byte
  short 2Byte
  int 4Byte
  long 8Byte
문자형 char 2Byte
실수형 float 4Byte
  double 8Byte
논리형 boolean 1Byte

 

<기본자료형 변수 크기>

 

변수를 선언을 하려면 자료형 변수명; 이렇게 선언을 해야 합니다. 여기서 자료형은 컴퓨터가 메모리를 할당을 해줄 때 자료형을 확인 후에 얼마만큼을 메모리에 할당을 해줄지 정하기 때문에 상당히 중요합니다.

변수명이란 변수에 이름이나 별명이라고 생각하시면 됩니다.

int a = 10;
a = 5;
a = 7;

추후에 값이 연산에 의해서 데이터 변경이 필요할 때는 변수명을 불러서 값을 대입하시면 됩니다.

위에 소스처럼 소스가 실행이 된다면 a라고 변수명을 가진 변수는 마지막에 값을 5를 가지고 있게 됩니다.

대입을 덮어쓰기랑 같다고 생각하시면 더 편하게 생각이 드실 수 있습니다.

여기서 변수명을 쓰시면 프로그래머가 알아보기 쉽게 적용해서 이름을 지어주시면 됩니다.

웬만해선 문제가 되지 않지만 예를 들어 변수명 처음에 숫자를 넣거나 (_, $)를 제외한 특수 문자를 사용하거나 예약어를 사용하면 안 됩니다.

하지만 웬만해서는 이 범위를 넘어서 변수명을 만드는 경우는 극히 드물기 때문에 많은 신경을 쓰지 않으셔도 됩니다.

위에 표와 소스코드를 보고 기본적으로 사용방법과 기본자료형들의 크기를 숙지하시면 됩니다.

 

정수형 소숫점이 없는 수
문자형 문자가 하나의 값
실수형 소숫점이 있는 수
논리형 참, 거짓을 나타내는 값

기본자료형을 이해하기 쉽게 하기 위해서 위에 표를 보고 이해를 하면 기본 자료형에 대해 쉽게 이해를 할 수 있을 것 같습니다.

 

자바는 하이레벨 언어이기 때문에 기본자료형의 변수 크기를 그렇게 많이 신경을 써서 변수를 선언하고 사용에 대한 고민을 그렇게 많이 할 필요는 없습니다.

 

정수와 실수형은 여러 개로 사용할 수 있어서 정수에 기본으로 사용하는 자료형은  int이고 실수에 기본으로 사용하는 자료형은 double이다. 정수와 실수를 사용을 할 때 되도록 기본으로 사용하는 자료형 int와 double을 사용하는 것이 좋습니다.

 

문자형인 char을 사용해서 값을 담을 때는 꼭 ' '을 사용하여 값을 변수에 담아야 합니다.

 

3. 참조 자료형

참조 자료형은 클래스형, 인터페이스형, 배열형, 열거형으로 나누어집니다. 참조 자료형은 예전부터 계속 있던 것이 아니라 자바에서 만들어준 자료형이라고 보시면 이해가 편하실 것입니다.

참조 자료형에서는 클래스형 중에 String배열형을 많이 쓰게 될 것입니다.

이 두 가지 중에 배열은 나중에 더욱 자세히 배우겠습니다. 그럼 나머지 하나인 String에 대해서 배워 보겠습니다.

기본 자료형에서 char는 문자 하나만을 담아 둘 수 있다 보니 불편함이 많았습니다. 그래서 자바에서 String이라는 클래스를 제공해줘서 문자를 하나가 아닌 문자열을 담을 수 있게 하고 있습니다.

 

String str = "IT 돌고래의 삶";
String str1 = "화이팅";
String str2 = new String("합시다");

위에 소스처럼 생성과 초기화를 할 수 있습니다. 위에처럼 String을 사용해서 값을 담을 때는 꼭 " "을 사용하여 값을 변수에 담아야 합니다.

※ 참고로 한 글자 이상 담을 수 있기 때문에 한 글자는 char에 무조건 담아야 하는 것은 아니고 String에도 담을 수가 있습니다.

 

4. 상수

상수는 위에서 설명을 드렸던 변수를 보면 변하는 수라고 생각하면 쉽다고 말씀을 드렸습니다. 상수는 그 반대의 개념으로 변하지 않는 수입니다. 그래서 데이터가 한번 입력이 되면 다시 바꿀 수 없는 변수를 상수라고 합니다. 그래서 처음 변수를 생설 할 때 추가되는 예약어가 있습니다.

final int MIN = 50;
final char ch = 'A';
final double d = 5.123;
MIN = 20; //에러

 위에 소스처럼 final이라는 예약어를 사용하게 됩니다. 그리고 초기화를 시켜서 데이터를 넣으면 이후에 다시 변수에 데이터를 넣으려고 하면 에러가 발생합니다. 상수는 이점을 주의를 해야 합니다.

 

※ 긴 글을 읽어 주셔서 감사합니다. Java를 계속 진행해 나가겠습니다.

 

★ 이글 이후에는 Java 변수 + 알파(진법, 진수, 진법 변환, 보수, 문자 표현 방법)에 대한 내용을 정리해서 처음부터 정리를 할 예정입니다. 많은 관심 부탁드립니다.



반응형

댓글