풀스택 백엔드 2026.04.15

syyu21b·2026년 4월 23일

풀스택 - 백엔드

목록 보기
2/49
post-thumbnail

[SECTION02. 변수와 자료형]

변수 = 데이터가 저장된 메모리의 별명


● 변수 선언

int age;
String name;

메모리에 age, name이라는 저장 공간이 만들어짐.


● 변수 초기화

public class Main {

    public static void main(String[] args) {
        int age; // 선언
        age = 27; // 초기화
        
        String name = "유프로"; // 선언과 초기화 동시에

        System.out.println("나이: " + age);
        System.out.println("이름: " + name);
     }
}


● 변수 이름 규칙(매우 중요)

1) 숫자로 시작 불가

X 1age

O age1

2) 공백 포함 불가

X my age

O myAge

3) 키워드 사용 불가

X int class;

4) 보통 lowerCamelCase 사용

studentName, totalCount


● 자바 이름 규칙(실무 약속)

대분류규칙
변수/메서드myNamelowerCamelCase
클래스Person, UserAccountUpperCamelCase
상수MAX_VALUE전부 대문자 + 언더바

● 실습

다음을 코드로 작성:

나의 이름은 유프로
나의 나이는 27세
나의 키는 173.5cm


자료형 = 그 변수에 어떤 종류의 데이터를 저장할지 결정하는 약속

자바에서 자료형은 크게 2가지:

  • 기본 자료형(Primitive)
  • 참조 자료형(Reference)

● 1) 기본 자료형(Primitive)

자바가 자체적으로 제공하는 가장 작은 단위이고, 값 그 자체가 저장됨

타입크기값 예시
byte1byte10
short2byte1000
int4byte100000
long8byte100000L
float4byte3.14f
double8byte3.141592
char2byte'A'
boolean1bytetrue/false

public class DataTypeExample {
public static void main(String[] args) {

byte b = 10;
short s = 300;
int i = 20000;
long l = 100000L;

float f = 3.14f;
double d = 10.123;

char c = 'A';
boolean bool = true;

System.out.println("byte 값: " + b);
System.out.println("short 값: " + s);
System.out.println("int 값: " + i);
System.out.println("long 값: " + l);
System.out.println("float 값: " + f);
System.out.println("double 값: " + d);
System.out.println("char 값: " + c);
System.out.println("boolean 값: " + bool);

}


● 2) 참조 자료형(Reference)

주소(Reference) 값이 저장된다.
실제 데이터는 힙(Heap) 공간에 위치한다.

대표 예:

  • String
  • 배열
  • 클래스(Person, Student 등)

● 기본형 vs 참조형 비교

구분기본 자료형참조 자료형
저장되는 값실제 값주소값(Reference)
저장 위치스택(Stack)힙(Heap)
예시int, doubleString, 배열

형 변환 = 서로 다른 자료형끼리 값을 변경해서 저장하는 것


● 1) 자동 형 변환(작은 → 큰)

public class DataTypeExample {
    public static void main(String[] args) {

        int a = 10;
        double b = a;

        System.out.println(b);
    }
}

정수 → 실수 변환은 안전하기 때문에 자동 변환 가능


● 2) 강제 형 변환(큰 → 작은)

double a = 10.5;
int b = (int) a;  // 10으로 변환

데이터 손실 가능 → 개발자가 명시적으로 변환해야 함


● 3) 문자열 → 숫자 변환

Scanner로 입력받으면 대부분 String

→ 숫자로 변환해야 할 때 필수


import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    // 이 친구를 이용하면 입력을 받을 수 있다
    Scanner scn = new Scanner(System.in);
    System.out.print("이름 입력:");
    String name = scn.nextLine();

    System.out.print("나이 입력:");
    int age = scn.nextInt();

    System.out.println("입력하신 이름은 " + name + "입니다.");
    System.out.println("입력하신 나이는 " + age + "살입니다.");

}

}


Scanner = 콘솔에서 사용자 입력을 받는 객체


● 기본 형태

package exam0415;

import java.util.Scanner;

public class Exam01 {
    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);

        System.out.print("첫 번째 이름:");
        String name1 = scn.nextLine();
        System.out.print("두 번째 이름:");
        String name2 = scn.nextLine();
        System.out.print("세 번째 이름:");
        String name3 = scn.nextLine();

        System.out.println("제 이름은 " + name1 + "입니다.");
        System.out.println("제 이름은 " + name2 + "입니다.");
        System.out.println("제 이름은 " + name3 + "입니다.");
    }
}

● 입력 메서드 정리

메서드설명
nextInt()정수 입력
nextDouble()실수 입력
nextLine()문자열 입력(줄 전체)
next()문자 하나 입력

● nextLine() 주의 사항

숫자 입력 후 엔터(\n)가 버퍼에 남아 nextLine()을 건너뛴다.

해결 방법: scn.nextLine(); // 엔터 제거


문제

다음 데이터를 올바른 자료형으로 변수에 저장하고 모두 출력하시오.

  • 100
  • 3.14
  • ‘A’
  • true
  • “Hello Java”

정답

0개의 댓글