언어공부/Java

[Java] 프로그램 구조와 데이터 타입

Logistic 2025. 1. 28. 00:34

* 코알못이 개인 공부용으로 작성한 글이므로 틀린 정보가 있을 가능성이 매우 높음 *

Java의 프로그램 구조

자바에서는 Class를 만들고 Class 내부에 변수,상수,method 등 프로그램 요소를 작성한다.

자바 프로그램은 main() 메소드에서부터 실행을 시작한다. (python의 __main__이나 C의 main()과 같다)

main()은 반드시 public static(메모리 정적) void(return X) 로 선언되어야 하며 한 클래스는

두 개 이상의 main을 가질 수 없다.

public class Hello {
	//main method
	public static void main(String[] args) {
    	int i = 0;		//변수 선언 , 초기화
        int s = sum(i,5);		//sum method 호출
        System.out.println("두 값의 합은 "+s+" 입니다");	//출력
    }
    //입력받은 두 수를 더하는 method
    public static int sum(int n, int m) {					
    	return n + m;
    }
}

 

C/C++ 함수를 자바에서는 메소드(method)라 부름. 작성 방식,호출 방법은 비슷하나 반드시 Class내에서 작성되어야함.

식별자 (identifier)

식별자란 클래스,변수,상수,메소드에 붙이는 이름을 말한다 *예를 들어 int num; 에서 num은 식별자*

단 규칙이 있는데 @,#,! 같은 특수문자나 공백또는 탭은 식별자로 사용할 수 없으니 _(언더바)나 $는 가능하다.

이외에도 여러 규칙이 있으나 여기서는 생략.

자바의 데이터 타입

data type이란 자바에서 다룰 수 있는 데이터 종류를 말한다. 

기본 타입 (Primitive type)과 복합 타입(Complex type / or non-primitive type)이 있다. 

기본 타입은 CPU 레지스터에서 바로 처리 가능한 데이터 크기의 타입이며 대표적으로

byte,short,int,long등이 있다. 

복합 타입은 하나 이상의 기본 타입으로 구성된 타입이며 대표적으로 Array,Class,Interface등이 있다. 

정수 byte short int long
실수 float double    

자바에서 문자열 String은 기본 타입에 속하지 않으며 JDK에서 제공하는 String 클래스를 이용한다.

자바에서는 다음과 같이 문자열 기본 타입의 +연산으로 문자열을 연결한 새로운 문자열을 생성한다.

String name = "Hello";
String name2 = "World!";
System.out.println(name+name2);	//"Hello World!"

리터럴(literal)

리터럴은 프로그램에 직접 표현한 값을 말함.

예를 들어 실수 리터럴은 double 타입(8bytes)으로 자동 처리되며 변수와 함께쓰면 다음과 같다.

double d = 0.1234;
double d = 1234E-4; //1234E-4 = 1234 x 10^-4

 숫자 뒤에 f or F를 붙이면 float 타입 (4bytes)으로 변환 

float f1 = 0.1234;//compile error
float f1 = 0.1234f;	// float type으로 변환

 

문자 리터럴은 단일 인용부호(' ')로 문자를 표시하거나 \u 다음에 문자의 유니코드 값을 사용하여 표현

char a = 'W';
char b = '아';
char c = '\uae00';	// '글'의 유니코드 값

 

논리 타입 리터럴은 true,false 두개뿐. boolean 타입의 변수에 직접 치환 또는 조건문에 사용

boolean a = true;
boolean b = 10> 5; // true
boolean c =1; //compile error! C처럼 1,0으로 t/f 사용불가

상수(constant)

final 키워드를 사용하여  값이 초기화되면 더 이상 변경할 수 없는 상수로 선언

static 키워드를 붙여 선언하는것이 바람직함.

static final double PI = 3.141592;