[Java] 1. 변수와 자료형

김정란·2025년 5월 26일

Java

목록 보기
1/7
post-thumbnail

[Java] 1. 변수와 자료형

📋 목차

  1. main 메서드의 구조
  2. 자료형의 분류와 특징
  3. 기본자료형 상세 설명
  4. 참조자료형과 유용한 메서드
  5. 주의사항 및 팁
  6. 마무리

1. main 메서드의 구조

Java 프로그램의 시작점인 main 메서드는 프로그램이 실행될 때 가장 먼저 호출되는 메서드임. 마치 건물의 정문과 같은 역할을 함.

public static void main(String[] args) {
    // 프로그램이 시작되는 곳
}

각 키워드의 의미

public: 공개 접근 허용

  • 어디서든 접근 가능한 접근 제어자임
  • JVM이 프로그램 시작 시 main 메서드를 찾아 호출해야 하므로 public으로 선언해야 함

static: 객체 생성 없이 호출 가능

  • 클래스 레벨에서 바로 실행 가능한 메서드임

void: 반환값 없음

  • 메서드 실행 후 특별한 결과값을 돌려주지 않음을 의미함
  • main 메서드는 프로그램을 시작하는 것이 목적이므로 반환값이 필요 없음

String[] args: 명령행 인수 받기

  • 프로그램 실행 시 외부에서 전달받는 문자열 배열임
  • 콘솔에서 java MyProgram hello world 실행 시 args[0]="hello", args[1]="world"가 됨

2. 자료형의 분류와 특징

Java의 자료형은 크게 두 가지로 나뉨:

기본자료형(Primitive Type)

  • 정수형: byte, short, int, long, char
  • 실수형: float, double
  • 논리형: boolean

참조자료형(Reference Type)

  • 문자열: String
  • 배열, 클래스, 인터페이스
// 기본자료형 예시
int age = 25;           // 정수 저장
double height = 175.5;  // 실수 저장
boolean isStudent = true; // 논리값 저장

// 참조자료형 예시
String name = "김자바";  // 문자열 저장

3. 기본자료형 상세 설명

정수형 자료형들

byte smallNum = 127;        // 1바이트 (-128 ~ 127)
short mediumNum = 32000;    // 2바이트 (-32,768 ~ 32,767)
int normalNum = 2000000;    // 4바이트 (약 -21억 ~ 21억)
long bigNum = 9000000000L;  // 8바이트 (L 또는 l 붙임)
char letter = 'A';          // 2바이트 (홑따옴표 사용)

실수형 자료형들

float smallDecimal = 3.14f;    // 4바이트 (f 또는 F 붙임)
double largeDecimal = 3.14159; // 8바이트 (기본값)

논리형

boolean isTrue = true;   // true 또는 false만 저장 가능
boolean isFalse = false;

4. 참조자료형과 유용한 메서드

String 자료형

String greeting = "안녕하세요";
String empty1 = "";     // 빈 문자열
String empty2 = null;   // null 값
String empty3 = " ";    // 공백 문자 하나

자주 사용하는 변환 메서드들

문자열에서 한 글자 추출: String.charAT(0)

String word = "Hello";
char firstChar = word.charAt(0);  // 'H' 반환
char lastChar = word.charAt(4);   // 'o' 반환

문자열을 숫자로 변환: Integer.parseInt(String)

String numberStr = "123";
int number = Integer.parseInt(numberStr);  // 123으로 변환

String decimalStr = "3.14";
double decimal = Double.parseDouble(decimalStr);  // 3.14로 변환

다른 타입을 문자열로 변환: String.valueOf()

String.valueOf(Object obj)의 실제구현은 삼항연산자를 통해 인자가 null이면 "null"을 리턴해주고 null 아니면 obj.toString() 메소드를 호출해 줌

int age = 25;
String ageStr = String.valueOf(age);  // "25"로 변환

double height = 175.5;
String heightStr = String.valueOf(height);  // "175.5"로 변환

// null 안전 처리도 자동으로 해줌
Object nullObj = null;
String result = String.valueOf(nullObj);  // "null" 문자열 반환

5. 주의사항 및 팁

자료형 변환 시 주의점

// ❌ 잘못된 예시 - 큰 타입에서 작은 타입으로 직접 변환 불가
int bigNumber = 300;
short smallNumber = bigNumber;  // 컴파일 에러!

// ✅ 올바른 예시 - 명시적 형변환 필요
int bigNumber = 300;
short smallNumber = (short) bigNumber;  // 강제 형변환

short 타입의 특별한 특징

short a = 10;
short b = 20;
short result = a + b;  // ❌ 컴파일 에러!

// short끼리 연산하면 자동으로 int가 됨
short a = 10;
short b = 20;
int result = a + b;    // ✅ 올바른 방법

빈 문자열 구분하기

String str1 = "";      // 빈 문자열 (길이 0)
String str2 = null;    // 아무것도 없음
String str3 = " ";     // 공백 문자 하나 (길이 1)

// 각각 다른 상태이므로 주의해서 사용할 것

문자와 문자열 구분

char singleChar = 'A';     // 홑따옴표 - 한 글자만
String text = "Hello";     // 쌍따옴표 - 여러 글자 가능

6. 마무리

Java의 변수와 자료형은 프로그래밍의 기초 중의 기초임. 기본자료형은 값을 직접 저장하고, 참조자료형은 값이 있는 위치를 저장한다는 차이점을 기억하자.

특히 자료형 변환 시에는 데이터 손실이 발생할 수 있으므로 항상 주의해야 함. 또한 String의 유용한 메서드들을 잘 활용하면 문자열 처리가 훨씬 쉬워짐.

0개의 댓글