본문 바로가기
JAVA 기초

#1 데이터타입

by weavus 2022. 9. 30.

하지만 변수나 클래스를 만들다 보면 두개 이상의 단어를 조합해 그 이름을 지으면 생기는 장점이 많다. 변수나 클래스에 대한 구체적인 설명이 가능해 코드를 쓰는 사람이나 읽는 사람 모두에게 유익하다. 하지만 공백은 사용할 수 없기 때문에 프로그래머들이 내 놓은 다양한 해답 중 가장 자주 쓰이는 것들이 카멜식, 파스칼식,  스케이크식이다.

 

 

카멜식(Camel case)

 

낙타의 모양에서 따온 방법이다. 첫 단어는 소문자로 시작하고, 두번째 단어부터 대문자로 시작한다. 단어와 단어 사이는 붙인다. 

원문: rocket launch duration

카멜식: rocketLaunchDuration

 

파스칼식(Pascal case)

 

사실 이름이 왜 파스칼식인지는 모르겠다. 카멜식과 매우 유사하지만, 차이점은 첫 단어도 대문자로 시작한다는 점이다. 하지만 몇몇 언어의 경우 관습적으로 클래스명만 대문자로 시작하는 암묵적인 규칙이 있기 때문에 조심해야 한다.

원문: rocket launch duration

파스칼식: RocketLaunchDuration

 

스네이크식(Snake case)

 

위에서 설명한 카멜식과는 다르게 , 각 단어를 "_"로 연결하고 대문자를 사용하지않는다.

원문: rocket launch duration

스네이크식: rocket_launch_duration

 

주석

주석(comment)은 로직에 대한 설명이나 코드를 비활성화 할 때 사용한다. 주석은 프로그래밍적으로 해석되지 않는다.

 

한줄 주석


public static void main(String[] args) {
	// 두개의 변수가 같은 데이터 타입 일 때 아래와 같이 코드를 작성한다.
	String a, b;
}

 

 

여러줄 주석

public static void main(String[] args) {
	String a, b;
	/*
	a = "coding";
	b = "everybody";
	System.out.println(a+b);
	*/
}
 

JavaDoc 주석

/**로 시작하는 주석은 JavaDoc 주석이라고 해서 자바의 문서를 만들 때 사용한다. 아래 예제는 다음 URL의 문서를 생성한다.

http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println(long)

 

 

PrintStream (Java Platform SE 7 )

Appends a subsequence of the specified character sequence to this output stream. An invocation of this method of the form out.append(csq, start, end) when csq is not null, behaves in exactly the same way as the invocation out.print(csq.subSequence(start, e

docs.oracle.com

 
/**
* Prints an integer and then terminate the line. This method behaves as
* though it invokes <code>{@link #print(int)}</code> and then
* <code>{@link #println()}</code>.
*
* @param x The <code>int</code> to be printed.
*/
public void println(int x) {
	synchronized (this) {
	print(x);
	newLine();
	}
}

 

세미콜론

세미콜론은 문장(statement)의 끝을 의미한다. 자바에서는 문장의 끝에 세미콜론을 사용하지 않으면 컴파일 에러가 발생한다. 

 
// assignment statement
aValue = 8933.234;
// increment statement
aValue++;
// method invocation statement
System.out.println("Hello World!");
// object creation statement
Bicycle myBike = new Bicycle();
 

세미콜론을 이용하면 여러개의 문장을 한줄에 표현할 수 있다.

int a = 100; double b = 10.1;

 

데이터 타입은 조금 어렵다. 후속 수업에서 필수적인 선행지식은 아니지만, 또 뒤에 배치하는 것도 애매하다. 이번 토픽의 학습이 어렵게 느껴지면 다음 토픽으로 넘어가고 나중에 다시 학습하면 된다.

데이터 타입에 대해서 자세히 알아보기 전에 데이터의 크기에 대해서 학습하자.

데이터의 크기

8 bit (비트) 1 byte
1024 byte (바이트) 1 kilobyte
1024 kilobyte (킬로바이트) 1 megabyte
1024 megabyte (메가바이트) 1 gigabyte
1024 gigabyte  (기가바이트) 1 terabyte
1024 terabyte (테라바이트) 1 petabyte
1024 petabyte (페타바이트) 1 exabyte
1024 exabyte (엑사바이트) 1 zettabyte

위 의 표에서 볼 수 있듯이 컴퓨터에 저장되는 정보의 가장 작은 단위는 bit다. 컴퓨터를 0과 1로 이루어졌다는 말을 들어본 적이 있을 것이다. 바로 이 0과 1이 bit다. 1bit는 0이나 1의 값을 가질 수 있다. byte는 bit 보다 8배 큰 단위다. 1byte는 8비트다. 여기까지 지금 기억해야 할 내용이다. 그 외의 내용은 차차 알게 된다. 

 

정수형

데이터 타입 메모리의 크기 표현 가능 범위
byte 1 byte -128 ~ 127
short 2 byte -32,768 ~ 32,767
int 4 byte -2,147,483,648~2,147,483,647
long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 

실수형

float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
double 8byte ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d)

실수형은 float과 double이 있다. 실수를 사용할 때는 double을 사용하도록 하자.

문자

char 2byte 모든 유니코드 문자

자바에서는 문자와 문자열이 다르다. 문자(character)는 글자 하나를 의미하고, 문자열은 글자들의 집합을 의미한다. 그럼 문자열은 메모리를 얼마나 사용할까? 문자열은 문자의 집합이라고 했다. 문자는 char 형이고, char는 2byte의 메모리를 사용한다. 따라서 6글자를 담고 있는 String 타입의 변수는 12바이트의 공간을 차지하게 된다. 자세한 내용은 String 클래스의 문자열 길이의 한계를 참고하자.

 

'JAVA 기초' 카테고리의 다른 글

#2 반복문  (0) 2022.10.02
#3 조건문 연습문제  (2) 2022.10.02
#1 데이터타입 연습문제  (4) 2022.10.02
#3 조건문  (0) 2022.10.01
#0 수업환경 구축  (0) 2022.10.01