String 클래스

이수보🧑🏻‍💻·2022년 1월 12일
0

초급

목록 보기
19/25

  • String 클래스

앞서 사용자 정의 타입 파트에서 사실은 Integer나 String 도 클래스 였다!!! 고 설명 드렸습니다.
오늘은 그 사실을 확인하는 파트로 String Class 의 편리한 메소드들을 배워 보겠습니다.

String 은 클래스입니다. 클래스이기 때문에 우리가 만들어 사용하는 클래스와 마찬가지로 메소드들로 가득하죠

즉, String은 여러개의 문자를 사용하기 쉽게 만들어 놓은 클래스 입니다.

  • String 클래스 특징
    자 우리 콘솔에 출력시 사용하는 Print를 사용할 때를 예로 들어보겠습니다.
int ex = 960342;
String birth = "내 생년 월일은 : ";

System.out.println(birth + ex);

자 제 생년월일은 출력하는 코드입니다.

birth를 선언함으로써 메모리에는 birth라는 객체가 만들어지게 되고 그 안에는 "내 생년 월일은 : " 라는 값이 들어 있습니다.

자 그럼 birth 와 ex 를 + 해보겠습니다.
그럼 내 생년 월일은 : 960342 가 출력 될 것입니다.
이는 단순히 birth의 저장공간 속에 값이 더해진 것처럼 보입니다.

하지만 사실 저 둘을 더한 순간 birth가 출력된 것이 아닌 birth+ex 라는 새로운 객체가 생성되어 출력된 것입니다.

객체를 생성하는 시간 만큼 저 과정을 반복시켜 본다면 상당히 과부하가 걸리는 것을 알 수 있을 겁니다.
궁금하다면 지금 바로 컴퓨터로 String+String을 해보시기 바랍니다.

때문에 문자열 변경 시 속도를 줄여주기 위한 StringBuffer 가 있습니다. 한 번 사용해보세요 속도 차이가 확연히 느껴지실 겁니다.

String 클래스의 메소드들

  • equals() : 문자열의 내용이 같은지 반환
  • length() : 문자열의 길이를 반환
  • charAt() : 특정 인덱스에 위치한 문자를 char타입으로 반환
  • subString() : 문자열의 특정 부분을 잘라서 반환
  • indexOf() : 문자열 내의 특정 문자의 인덱스를 반환
  • contains() : 문자열이 특정 문자열을 포함하고 있는지 여부를 boolean으로 반환
  • split() : 문자열을 특정 문자를 기준으로 나누어 배열형태로 반환
  • trim() : 문자열 앞뒤에 공백을 제거해 반환
  • valueOf() : 다른 타입의 데이터를 문자열로 변환해 반환

각 메소드별로 return 에 따라 각각 무언가를 return 해주고 있죠??
각 리턴타입으로 더욱 더 문자열 관련 코딩을 편하게 사용할 수 있습니다.

  • 몇가지 예시
String str = "ㅎㅎ";
int[] array = new int[10]

if(str.equals("ㅎㅎ"){
	System.out.print("둘이 같습니다.");
 }
 
for(int i = 0; i < array.length(); i++){
	System.out.print("반복회수는???");
}

if(str.contains("ㅎ"){
	System.out.print("ㅎ이 포함되어 있습니다.");
 }

이렇게 return 타입을 활용하면서 다양한 코드에 적용할 수 있습니다.
앞으로는 return 타입에 유의하여 사용해주세요

0개의 댓글