Engineering Note

[Java] String 관련 메서드 charAt, indexOf 본문

Programming Language/Java

[Java] String 관련 메서드 charAt, indexOf

Software Engineer Kim 2025. 6. 20. 18:12

String은 내부적으로 char[]로 이루어져 있다. 다시 말해서 문자배열이라는 뜻이다. 배열은 연속된 데이터를 저장하는 자료구조인데, 그렇다면 인덱스를 통해서 값을 추출할 수도 있고, 반대로 값으로 인덱스를 찾을 있어야 할 것이다. 이러한 기능을 제공하는 메서드가 있는데, charAt과 indexOf이다.

 

charAt


charAt의 메서드 선언부는 이렇게 생겼다.

public char charAt(int index)

 

=> 메서드의 매개변수로 인덱스를 전달하면, String 에서 인덱스에 위치한 문자를 반환한다.

 

 

 

indexOf

다음은 indexOf 메서드의 선언부이다.

public int indexOf(int ch)

 

=> 매개변수로 문자를 전달하면, 전달받은 문자가(내부적으로 숫자라서 int 타입) String 문자열 내에 존재하면, 문자가 위치한 인덱스를 반환한다. 단, 문자열 내에 전달받은 문자가 여러개 존재한다면, 낮은 인덱스 값은 반환한다. 만약 문자열 내에 없다면, -1을 반환한다.

 

indexOf 메서드는 파라미터를 두 개 전달하는 형태도 있다.

public int indexOf(int ch, int fromIndex)

=> 이 경우에는 첫 번째 파라미터에는 문자를 전달하고, 두 번째 파라미터로는 인덱스값을 전달하는데 두 번째 인덱스로 부터 첫 번째 파라미터에 해당하는 문자가 있는지를 찾는 메서드이다. 기본적으로 위 메서드와 목적은 같지만 찾고자 하는 시작 인덱스 위치를 지정할 수 있다는 점이 차이다.

 

정리하면 charAt은 인덱스를 전달하면 인덱스에 위치한 문자를 반환하고, indexOf는 문자를 전달하면 문자가 위치한 인덱스를 반환한다.

 

Comments