이번 시간에는 Java의 변수와 자료형에
대해 알아보도록 하겠습니다.
자바의 변수
자바의 변수는 쉽게 말하자면
변하는 수입니다.
프로그램이란 데이터를 조작하여
원하는 결과를 얻는 자동화 기계입니다.
데이터에 이름을 붙이면 바로 변수가 됩니다.
변수와 데이터(자료형)은 서로 뗄레야
뗄수 없는 관계인데, 변수는 데이터형이 지정되야
사용할 수 있습니다. 변수를 비트로 보면
PC에서는 최소 8byte ~ 64byte까지의
변수가 있습니다 데이터형에 따라서
비트 수는 차이가 발생합니다.
자바에서는 C언어와 같은 정적(static) 언어라고
합니다. 정적이라는 뜻은 변수의 데이터에
엄격하다는 의미입니다.
이와는 반대로 자바는 어려운 언어일 수도
있으나 그렇지만은 않은 언어입니다.
프로그래머가 자신의 데이터들의
속성에 대해서 명시적으로 설계한다는 것은
컴퓨터 내부의 동작에 대해 깊이 있는
이해가 가능한 부분도 있고
컴퓨터 공학에서는 자료형 문제는
모두가 귀찮아하는 문제이지만
좀 더 중요한 주제라고 볼 수 있습니다.
자바는 정적인(static)언어기 떄문에
자료형에 대한 이해도가 높다면
변수를 충분히 쉽게 사용할 수 있습니다.
변수형과 변수
다음과 같은 예로 a와 b를 변수라고 합니다.
int a;
String b;
변수의 이름은 개발자 취향에 따라서
마음대로 지정할 수 있습니다.
위 예처럼 a와 b라는 변수명을 짖거나
아래처럼 one, two 라는 이름으로도
지을 수 있습니다.
int one;
String two;
단,변수의 이름을 지을 때 다음과
같은 규칙을 지켜야 합니다.
- 변수명은 숫자로 시작할 수 없다.
- _(underscore)와 $문자 외 특수문자는 사용할 수 없다.
- 자바의 키워드는 변수명으로 사용할 수 없다(예:int, class,return)
// 예: 자주 사용하는 자바의 키워드
abstract continue for
new switch default
package break this
double int static
try void class
const float while
extneds else
do if private enum
case finally
다음은 변수명을 잘못 지은 예시입니다.
int 1st; // 변수는 숫자로 시작할 수 X
int a#; // 변수명에는 특수문자가 X
int class; // 변수명에 키워드를 사용할 수 X
변수의 자료형
변수명 앞의 int,string 등은
자료형(Type)을 뜻합니다.
변수에 값 대입하기
변수를 선언한 이후에는 다음과 같이
변수에 값을 대입할 수 있습니다.
int a;
String b;
a = 1;
b = "hello java"
// 출력하기
System.out.println(a);
System.out.println(b);
변수에 값을 대입할 떄는 위와 같이
= (assaignment) 기호를 사용합니다.
다음과 같이 변수를 선엄함과 동시에
값을 대입할 수도 있습니다.
int a = 1;
String b = "hello java"
System.out.println(c);
System.out.println(d);
자주 사용하는 자료형
자료형에는 int와 String외에도 자주
사용하는 자료형이 있습니다.
- int
- long
- double
- boolean
- char
- String
- StringBuffer
- List
- Map
- Set
예를 들어서 StringBuffer, List 자료형에
해당하는 변수를 다음과 같이 작성할 수 있습니다.
StringBuffer sb;
List myList
사용자 정의 자료형
뒤에서 자료형은 자세히 배워보겠지만
일단은 사용자가 직접 정의하는 자료형을
배워보겠습니다.
예를 들면 다음과 같이 클래스를 하나
만들어 줍니다.
class herbivore {
}
다음과 같이 herbivore 자료형 변수를
만들어 주었습니다.
Herbivore Koala;
위 코드는 Koala(코알라)라는 변수는
harbivore(초식동물)자료형 변수입니다.
Koala 라는 변수에는 Animal 자료형에
해당되는 값만을 담을 수 있습니다.
참고 자료
'백엔드 > Java' 카테고리의 다른 글
[Java] 자바 개발환경 세팅 (0) | 2023.01.17 |
---|---|
[JAVA] JAVA란 무엇인가? (0) | 2022.01.30 |