IMG-LOGO
공지사항 :

자바 입력(Input)과 출력(Output)

lmkfox - 2025-07-08 06:09:14 12 Views 0 Comment

자바에서 **입력(Input)**과 **출력(Output)**은 프로그램과 사용자 또는 외부 장치 간의 데이터 주고받기를 의미합니다. 주로 **표준 입력(stdin)**과 **표준 출력(stdout)**을 다루게 되며, 콘솔을 통한 데이터 입출력이 기본입니다.


1. 자바 입력 (Input)

1.1 Scanner 클래스 사용 (콘솔 입력)

자바에서 가장 많이 사용되는 콘솔 입력 방법은 java.util.Scanner 클래스입니다.

선언 및 사용법

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);

주요 메소드

메소드

설명

next()

단어 하나 입력 (공백 이전까지)

nextLine()

한 줄 전체 입력

nextInt()

정수 입력

nextDouble()

실수 입력

nextBoolean()

논리값 입력 (true/false)

예시

import java.util.Scanner;

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

        System.out.print("이름 입력: ");
        String name = sc.nextLine();

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

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


2. 자바 출력 (Output)

자바는 System.out 객체를 사용하여 표준 출력으로 데이터를 보냅니다.

2.1 

System.out.print()

줄바꿈 없이 출력

System.out.print("안녕하세요");

2.2 

System.out.println()

줄바꿈 포함 출력

System.out.println("Hello");
System.out.println("World");

출력 결과:

Hello
World

2.3 

System.out.printf()

형식을 지정하여 출력 (C 언어 스타일)

String name = "Java";
int age = 25;
System.out.printf("이름: %s, 나이: %d", name, age);

출력 결과:

이름: Java, 나이: 25

형식 지정자

의미

%d

정수

%f

실수

%s

문자열

%n

줄바꿈 (\n 대체)


3. Scanner와 줄 입력 주의점

nextLine()은 줄 전체를 읽지만, nextInt()나 next() 다음에 nextLine()을 쓰면 줄바꿈 문자가 남아 문제가 될 수 있습니다.

해결 방법

int age = sc.nextInt();
sc.nextLine(); // 버퍼 비우기
String name = sc.nextLine();


4. 파일 입출력 (기초 소개)

파일로부터 데이터를 읽거나 저장하려면 다음과 같은 클래스들을 사용할 수 있습니다.

파일 입력 예시

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileInputExample {
    public static void main(String[] args) throws FileNotFoundException {
        File file = new File("input.txt");
        Scanner sc = new Scanner(file);

        while (sc.hasNextLine()) {
            System.out.println(sc.nextLine());
        }
    }
}

파일 출력 예시

import java.io.FileWriter;
import java.io.IOException;

public class FileOutputExample {
    public static void main(String[] args) throws IOException {
        FileWriter writer = new FileWriter("output.txt");
        writer.write("Hello, File!");
        writer.close();
    }
}


5. 요약

항목

주요 클래스 / 메소드

콘솔 입력

Scanner, System.in

콘솔 출력

System.out.print(), println(), printf()

파일 입력

File, Scanner, BufferedReader 등

파일 출력

FileWriter, PrintWriter, BufferedWriter 등


6. 추가 정보

  • 고급 입출력은 BufferedReader, BufferedWriter, ObjectInputStream 등을 사용합니다.

  • 자바에서는 입출력 예외(IOException)가 많이 발생할 수 있으므로 try-catch 혹은 throws 처리가 필요합니다.


댓글