JAVA

Java. 표준 입력&출력

calla1013 2025. 3. 31. 20:52

JAVA 입출력과 주석 정리

1. 📜 JAVA 표준 입출력 개요

1.1 표준 입출력 변수

  • System 클래스의 변수 in, out, err는 표준 입출력을 처리함
  • InputStream 객체는 키보드(표준입력)로부터 입력 처리
  • PrintStream 객체는 콘솔(표준출력)로 출력 처리
  • PrintStream 객체는 일반적으로 에러 메시지 표시 시도 많이 사용

1.2 PrintStream 클래스 메서드

  • print(): 괄호 안 문자열 출력, 숫자 타입은 내부적으로 문자열로 변환
  • println(): print() 후 줄바꿈 추가
  • printf(): 문자열 포맷(format)과 출력 내용을 맞춰 출력

1.3 이스케이프 문자

역슬래시(\)가 붙은 Escape Sequence 예: \b, \t, \n, \f, \r, \", \', \\, \8진수, \u

이스케이프 문자는 대부분 프로그래밍 언어에서 사용됨

2. 🚀 JAVA의 제어 문자(Escape Sequence)와 사용 방법

2.1 이스케이프 문자의 정의 및 역할

이스케이프 문자는 역슬래시(\)로 시작하며 특수한 용도로 사용됨. 문자열 내 특수 문자 표현에 필수.

2.2 이스케이프 문자 종류 및 예시

  • \b: 백스페이스
  • \t: 수평 탭
  • \n: 줄 바꿈
  • \f: 새 페이지 문자
  • \r: 리턴 문자
  • \", \', \\: 각각 큰따옴표, 작은따옴표, 역슬래시
  • 유니코드(\u) 및 8진수 표현 사용 가능 (예: \42, \377, \uC790)

포맷 문자열에서 수치, 문자열, 일반 데이터를 구분하는 데 사용됨

3. 🎨 JAVA 포맷 문자열 활용

3.1 수치, 문자열, 일반 데이터 포맷 지정

  • %d: 10진 정수
  • %o: 8진 정수
  • %x, %X: 16진 정수
  • %f: 10진 부동소수점
  • %e, %E: 지수 표기법
  • %g, %G: 자동 선택 부동소수점
  • %a, %A: 16진 부동소수점
  • %s, %S: 문자열
  • %c, %C: 유니코드 문자
  • %h, %H: 해시코드
  • %b, %B: 불리언

3.2 Scanner를 통한 표준 입력 처리

  • Scanner는 커서 이후 문자열을 리턴
  • nextLine(): 줄 단위 문자열
  • nextXxx(): 해당 타입으로 변환된 값 리턴 (예: nextInt())
  • hasNext(): 다음 입력값 존재 여부 확인

4. 📝 자바 Scanner 클래스를 통한 입력 처리

4.1 Scanner 클래스 역할 및 메서드

  • 표준 입력 처리에 유용한 다양한 메서드 제공
  • nextLine(): 커서 이후 줄 전체 문자열 반환
  • nextXxx(): 타입에 맞게 변환 반환 (예: nextInt(), nextBoolean())
  • hasNext(): 특정 타입 데이터 존재 여부 확인

4.2 주석 (Comments)

주석은 코드 설명이나 개발자 의견 작성 용도이며, 컴파일러가 무시함.

4.3 단일행 주석

한 줄 주석은 //로 시작. 단축키: Ctrl + /

5. 📝 JAVA의 주석 사용 방법

5.1 주석의 기본

코드 설명과 의견 작성용. 컴파일러에서 무시됨.

5.2 단일행 주석

한 줄 주석, // 사용, 단축키 Ctrl + /

5.3 다중행 및 Javadoc 주석

  • 다중행 주석: /* ... */ 여러 줄에 걸쳐 주석 작성
  • Javadoc 주석: /** ... */, 문서화 목적, 변수/함수/클래스 위에 작성

6. 📄 JAVA 주석의 형태와 문서화 방법

6.1 다중행 주석

여러 줄 주석 작성, 임시 코드 블록 주석 처리 시 유용

6.2 자바 문서 (Javadoc) 주석

변수, 함수, 클래스 위에 작성된 주석을 자바 문서로 변환
/** ... */ 형태로 작성, javadoc 툴로 HTML API 문서 생성 가능
코드 가독성과 유지보수에 도움


마무리 생각

개발 초기에 단순히 System.out.println()만 사용했으나, printf()로 포맷 지정하여 깔끔하게 출력하는 방법이 유용함을 느꼈습니다.

%d, %f, %s 같은 포맷 지정자를 활용하면 가독성이 좋아지고, 실무에서도 많이 쓰이므로 깊이 공부해야겠다는 생각이 들었습니다.

Scanner 클래스를 이용한 입력 처리법도 체계적으로 정리되어, nextLine()nextInt() 메서드 차이를 정확히 이해하는 것이 중요함을 다시 깨달았습니다.

hasNext()를 사용해 입력값 존재 여부를 확인하는 점도 흥미로웠습니다.

주석 작성법 역시 다양하게 정리되어 단일행, 다중행, Javadoc 주석까지 프로젝트 문서화에 큰 도움이 될 것 같습니다.

JAVA 기초를 다시 다지고, 앞으로는 기능 구현뿐 아니라 가독성 좋은 코드와 체계적인 주석 작성에 신경 쓰려 합니다.

'JAVA' 카테고리의 다른 글

Java. 배열  (0) 2025.04.01
Java. 메소드  (1) 2025.04.01
Java. 제어문  (0) 2025.04.01
Java. 연산자  (0) 2025.03.31
Java. 변수와 자료형  (0) 2025.03.31