Java 기본 제공 클래스 (Integer, String, Math)
선수학습(1개)
요약
정보처리기사 실기 시험에 자주 나오는 Java 기본 제공 클래스와 메서드를 정리합니다. Integer.valueOf(), String의 charAt/substring/length, Math.max/min/abs 등 핵심 메서드를 예제와 함께 설명합니다.
핵심 정리
| 클래스 | 주요 메서드 | 역할 |
|---|---|---|
| Integer | Integer.valueOf(), Integer.parseInt() | 문자열을 정수로 변환 |
| String | length(), charAt(), substring() | 문자열 길이, 글자 추출, 부분 문자열 |
| Math | Math.max(), Math.min(), Math.abs() | 최댓값, 최솟값, 절댓값 |
기본 제공 클래스란? 쌩기초
Java에는 개발자가 직접 만들지 않아도 바로 사용할 수 있는 클래스가 있습니다. System.out.println()(화면에 글자를 출력하는 명령)의 System도 기본 제공 클래스입니다.
이 페이지에서는 시험에 나오는 세 가지 클래스를 다룹니다.
| 클래스 | 한 줄 설명 |
|---|---|
| Integer | 정수(int)를 다루는 도구 모음 |
| String | 문자열을 다루는 도구 모음 |
| Math | 수학 계산 도구 모음 |
이 클래스들의 메서드1는 import2 없이 바로 사용할 수 있습니다. 반면 Scanner처럼 직접 불러와야 쓸 수 있는 클래스는 파일 상단에 import java.util.Scanner;를 적어야 합니다.
Integer 클래스 기초
Integer는 문자열을 정수로 변환할 때 사용하는 클래스입니다.
Integer.valueOf()
문자열을 정수로 변환합니다. 결과는 int3 타입으로 저장합니다.
Integer.parseInt()
Integer.valueOf()와 같은 역할을 합니다. 내부 동작은 약간 다르지만 시험에서는 둘 다 "문자열을 정수로 변환"으로 이해하면 됩니다.
| 메서드 | 입력 | 결과 |
|---|---|---|
Integer.valueOf("5") | 문자열 "5" | 정수 5 |
Integer.parseInt("42") | 문자열 "42" | 정수 42 |
Integer.valueOf("0") | 문자열 "0" | 정수 0 |
String 클래스 기초
String은 문자열을 다루는 클래스입니다. String str = "Hello";처럼 문자열을 만들면 str.length(), str.charAt() 같은 메서드를 바로 쓸 수 있습니다.
length() — 글자 수
문자열의 글자 수를 돌려줍니다.
| 문자열 | length() 결과 |
|---|---|
| "Hello" | 5 |
| "AB" | 2 |
| "" | 0 |
charAt() — 특정 위치의 글자
문자열에서 원하는 위치의 글자 하나를 꺼냅니다. 위치는 0번부터 시작합니다. 결과는 char4 타입입니다.
| 인덱스 | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| 글자 | H | e | l | l | o |
substring() — 부분 문자열 추출
문자열의 일부분을 잘라서 새 문자열을 만듭니다.
substring(시작, 끝)에서 시작 위치는 포함하고 끝 위치는 포함하지 않습니다. 예를 들어 substring(1, 4)는 1번 글자부터 3번 글자까지만 추출합니다(4번은 미포함).
| 호출 | 범위 | 결과 |
|---|---|---|
"Hello".substring(1, 4) | 1번 ~ 3번 | "ell" |
"Hello".substring(0, 2) | 0번 ~ 1번 | "He" |
"Hello".substring(2) | 2번 ~ 끝 | "llo" |
toUpperCase() / toLowerCase() — 대소문자 변환
replace() — 글자 바꾸기
문자열에서 특정 글자(또는 문자열)를 다른 글자(또는 문자열)로 바꿉니다.
해당 글자가 여러 개 있으면 전부 바꿉니다.
split() — 문자열 쪼개기
구분자를 기준으로 문자열을 나눠서 배열(여러 값을 순서대로 묶어놓은 것)로 만듭니다.
indexOf() — 위치 찾기
문자열에서 특정 글자(또는 문자열)가 처음 나타나는 위치를 돌려줍니다. 찾지 못하면 -1을 돌려줍니다.
trim() — 앞뒤 공백 제거
문자열의 앞과 뒤에 있는 공백을 제거합니다. 중간에 있는 공백은 그대로 둡니다.
equals() — 내용 비교
두 문자열의 **내용(값)**이 같은지 비교합니다. 대소문자를 구분합니다.
==는 두 변수에 저장된 주소가 같은지 비교하고, equals()는 문자열의 내용이 같은지 비교합니다. 자세한 차이는 == vs equals()에서 다룹니다.
equalsIgnoreCase() — 대소문자 무시 비교
equals()와 같지만, 대소문자를 구분하지 않고 비교합니다.
contains() — 포함 여부 확인
문자열 안에 특정 문자열이 포함되어 있는지 확인합니다.
String 메서드 정리
| 메서드 | 하는 일 | 예시 | 결과 |
|---|---|---|---|
length() | 글자 수 | "Hello".length() | 5 |
charAt(n) | n번 글자 | "Hello".charAt(1) | 'e' |
substring(a, b) | a ~ b-1 추출 | "Hello".substring(1, 4) | "ell" |
toUpperCase() | 대문자로 | "hello".toUpperCase() | "HELLO" |
toLowerCase() | 소문자로 | "HELLO".toLowerCase() | "hello" |
replace(a, b) | a를 b로 교체 | "apple".replace('p', 'b') | "abble" |
split(구분자) | 쪼개기 | "A,B".split(",") | {"A", "B"} |
indexOf(x) | 위치 찾기 | "Hello".indexOf('l') | 2 |
trim() | 앞뒤 공백 제거 | " Hi ".trim() | "Hi" |
equals(s) | 내용 비교 | "abc".equals("abc") | true |
equalsIgnoreCase(s) | 대소문자 무시 비교 | "Hi".equalsIgnoreCase("hi") | true |
contains(s) | 포함 여부 | "Hello".contains("ell") | true |
Math 클래스 기초
Math는 수학 계산에 필요한 메서드를 모아둔 클래스입니다. Math.메서드() 형태로 사용합니다.
Math.max() / Math.min() — 최댓값, 최솟값
두 값 중 더 큰 값 또는 더 작은 값을 돌려줍니다.
Math.abs() — 절댓값
음수를 양수로 바꿉니다. 양수는 그대로 둡니다.
Math.pow() — 거듭제곱
Math.pow(밑, 지수)는 밑을 지수만큼 곱한 값을 돌려줍니다. 결과는 double5 타입입니다.
Math.round() — 반올림
소수점 첫째 자리에서 반올림합니다. 결과는 long6 타입입니다.
Math 메서드 정리
| 메서드 | 하는 일 | 예시 | 결과 |
|---|---|---|---|
Math.max(a, b) | 큰 값 | Math.max(3, 7) | 7 |
Math.min(a, b) | 작은 값 | Math.min(3, 7) | 3 |
Math.abs(n) | 절댓값 | Math.abs(-5) | 5 |
Math.pow(a, b) | a의 b제곱 | Math.pow(2, 3) | 8.0 |
Math.round(n) | 반올림 | Math.round(3.6) | 4 |
정보처리기사 실기 기출 문제
Footnotes
-
메서드는 클래스가 제공하는 기능(함수)입니다.
str.length()에서length()가 메서드입니다. ↩ -
import는 다른 패키지에 있는 클래스를 불러오는 선언입니다.Integer,String,Math는 Java가 기본으로 포함시켜 주기 때문에import없이 바로 사용할 수 있습니다. ↩ -
int는 정수(소수점 없는 숫자)를 담는 타입입니다. 예: 0, 5, -3, 100 ↩ -
char는 글자 한 개를 담는 타입입니다. 예:'H','e','A'↩ -
double은 소수점이 있는 숫자(실수)를 저장하는 타입입니다.int는 정수만 저장할 수 있지만,double은 8.0, 25.5 같은 값을 저장할 수 있습니다. ↩ -
long은int보다 더 큰 범위의 정수를 저장할 수 있는 타입입니다. 시험에서는int와 같은 정수 타입으로 이해하면 됩니다. ↩