본문 바로가기

[TIL] 자바의 기본 API - Object /String / StringBuffer 클래스

인포꿀팁 발행일 : 2020-08-05

패키지란 Package 란?

  • 비슷한 성격의 클래스나 인터페이스 등을 모아 놓은 묶음으로 하나의 디렉토리이다.
  • 패키지는 하위 패키지를 가질 수 있으며 패키지와 패키지, 패키지와 클래스는 "." 으로 구분한다.
  • 자바는 프로그램을 효율적으로 작성할 수 있도록 관련 클래스들을 표준 패키지로 묶어서 사용자에게 제공한다.

 

import문

  • 프로그램을 작성할 때 다른 패키지의 클래스를 사용하기 위해서는 패키지 명을 포함한 이름을 사용해야한다.
  • import문을 사용하여 사용할 클래스의 패키지를 미리 명시해주면 사용되는 클래스이름에서 패키지명을 생략할 수 있다.
  • 자바가 제공하는 java.lang.* 패키지는 자바를 컴파일 할 때 자동으로 import 되므로 java.lang.* 패키지의 클래스는 import 하지 않는다.

 

object 클래스

  • java.lang.Object 클래스는 자바 클래스 최상위 클래스이다.
  • 자바 표준 패키지의 클래스나 사용자에 의해 작성된 모든 클래스는 기본적으로 Object 클래스로 부터 상속 받는다.

주요 메소드

 


equals 메소드

원형 : public boolean equals(object obj)

인수 : obj : 비교할 객체

 

기능

  • ==연산자와 마찬가지로 클래스 객체의 내용 값을 비교하는 것이 아니라 참조영역(주소)를 비교한다.
  • 클래스 객체의 값 자체를 비교하기 위해서는 사용자가 equals 메소드를 재정의 하여야한다.

** String에서의 equals() 은 값을 비교한다.

 


toString 메소드

원형 public StringtoString()

기능

  • 객체에 대한 클래스 이름과 클래스 정보를 "클래스이름@16진수 해쉬코드값 " 형태의 문자열로 리턴한다.

  • 사용자가 원하는 정보를 취득하기 위해서는 equals() 메소드와 마찬가지로 toString ()메소드를 재정의(오버로딩)하여 사용한다.


hashCode 메소드

원형 public hashCode()

기능

  • 객체에 대한 해쉬코드 값을 리턴한다.
  • 해쉬코드는 JVM에서 객체를 빠르게 검색하기 위하여 사용하며, 동일한 객체는 동일한 해쉬코드 값을 가지고 있지만 그 반대는 성립하지 않는다.

 


 

Integer 클래스

 

주요 메소드


Integer.parseInt 메소드

원형 : public Integer.parseInt()

기능

  • 문자열을 정수로 변환한다.

Integer.toString메소드

원형 : public Integer.toString()

기능

  • 정수를 문자열로 변환한다.

 

String 클래스

주요 메소드


substring 메소드

원형 : substring(start, end)

 

기능

  • s번째 인덱스에서 e-1 인덱스까지의 인덱스를 추출한다.
  • 한가지 숫자만 입력하면 입력한 인덱스부터 끝까지 추출한다.

equals 메소드

원형 : equals()

 

기능

  • 입력한 문자열과 참조값이 아닌 값을 비교하여 true/false를 반환한다.

equalsIgnoreCase 메소드

원형 : equalsIgnoreCase()

 

기능

  • 입력한 문자열과 참조값이 아닌 값을 비교하여 true/false를 반환한다.
  • 값을 비교시 대소문자는 구분하지 않는다.

startsWith / endsWith 메소드

원형 : startsWith() / endsWith()

 

기능

  • 입력받은 문자열을 앞이나 뒤에서부터 비교하여 같은지 여부를 판별한다.
  • true/false를 반환한다.

compareTo 메소드

원형 : compareTo(입력 받은 문자열)

 

기능

  • 입력받은 문자열을 사전식으로 판별하여 비교한다.
  • 이때 반환되는 숫자는 아스키 코드값의 차이값이다.
  • 차이값이 음수이면 입력한 문자가 뒤에 오는 순서고 양수면 반대이다.

indexOf 메소드

원형 : indexOf(입력받은 문자열)

 

기능

  • 입력받은 문자열의 시작 위치값을 반환한다.
  • 입력받은 문자열이 겹치는 경우 처음에 있는 문자를 반환한다.
  • lastIndexOf()를 사용하면 뒤에서부터 해당 문자를 찾고 위치값을 반환한다.

 

replace 메소드

원형 : replace(바꿀 문자열, 입력할 문자열)

 

기능

  • 문자열을 부분적으로 수정할 때 사용하는 메소드이다.
  • 바꿀 문자열과 입력할 문자열을 작성한다.

replaceAll 메소드

원형 : replace(바꿀 문자열, 입력할 문자열)

 

기능

  • 문자열을 부분적으로 수정할 때 사용하는 메소드이다.
  • replace와의 차이점은 정규식이 가능하다는 점이다.
  • 규칙이나 패턴을 매개변수에 추가할 수 있다.
  • \\ | = 또는 , \\s = 공백, \\d = 숫자
  • 특정 범위를 기입시에는 [시작문자- 끝 문자] 입력한다. ex) 한글전체를 선택한다면 [가-힣]

trim 메소드

원형 : trim()

 

기능

  • 입력한 문자열 좌우의 공백을 제거해주는 메소드이다.

 format 메소드

원형 : format("입력 양식", 입력하는 값)

 

기능

  • 입력할 형식을 정해 입력하는 메소드이다.
  • printf와 사용방법이 동일하다.

toLowerCase 메소드

원형 : String toLowerCase()

 

기능

  •  String 인스턴스에 저장되어 잇는 모든 문자열을 소문자로 변환하여 리턴한다.

toUpperCase 메소드

원형 : String toUpperCase()

 

기능

  • String 인스턴스에 저장되어 잇는 모든 문자열을 대문자로 변환하여 리턴한다.

 


split 메소드

원형 : split(나눠질 기준이 될 문자열)

 

기능

  • 나눠질 기준점을 입력해 기준을 토대로 문자열을 나눠주는 메소드이다.
  • 사용시 나눠지는 값을 받기위해 주로 배열을 사용한다.



getBytes 메소드

원형 : getBytes()

 

기능

  • 입력한 문자열의 문자 하나하나의 아스키코드값을 반환한다.
  • 사용시 배열사용.
		s="KOREA"; // 아스키코드 값 출력
		byte[] bb = s.getBytes();
		for(int x : bb) {
			System.out.print(x+" ");
		}
		System.out.println();
		//75 79 82 69 65 

 


StringBuffer 클래스 /StringBuilder 클래스

  • 버퍼가 가변적인 길이를 가지므로 객체를 생성하는 시점에서 미리 그 크기나 값을 지정하거나 실행 시간에 버퍼의 크기를 바꿀수 있다.
  • 버퍼란 입력속도에 비해 출력속도가 느린경우  데이터를 임시로 저장해두는 공간을 말한다.
  • 가변적이지 않은 문자열처리에서 StringBuffer 나 StringBuilder를 사용하면 성능저하의 원인이다.
  • STringBuffer와 StringBuilder의 차이점은 멀티 스레드 환경에서 동기화가 되는지 여부 차이다. builder는 동기화가 되지 않는다.

 

주요 메소드


append 메소드

원형 :append(추가할 문자열)

 

기능

  • 인수로 받은 데이터를 기존의 문자열에 추가하는 메소드로 다양한 데이터 형을 인수로 받을 수 있으며 문자열 추가후 결과로 자기 자신을 반환한다.

insert 메소드

원형 insert(삽입할 위치, 삽입할 문자열)

 

기능

  • 인수로 받은 데이터를 기존의 문자열의 특정 위치에 삽입메소드로 다양한 데이터 형을 인수로 받을 수 있으며 결과과로 자기 자신을 반환한다.

length 메소드

원형 int length()

 

기능

  • 문자열의 길이를 반환한다.

capacity 메소드

원형 int capacity()

 

기능

  • 버퍼의 크기를 반환한다.

trimToSize 메소드

원형 void trimToSize()

 

기능

  • 버퍼의 크기를 문자열의 크기로 맞춘다. 문자열이 없는 경우 버퍼의 크기를0으로 만든다.

delete 메소드

원형 StringBuffer delete (int start, int end)

 

기능

  • start 위치에서 end-1위치까지의 문자열을 삭제한다. start와 end가 같은 경우 삭제하지 않는다.

toString 메소드

원형 String toString()

 

기능

  • StringBuffer 객체의 값을 String으로 변환하여 리턴 한다.

setCharAt 메소드

원형 void setCharAt(int index, char ch)

 

기능

  • index 위치에 있는 문자를 ch를 반환한다.

 

'Language > JAVA' 카테고리의 다른 글

[TIL]자바의 기본 API - StringTokenizer 클래스  (0) 2020.08.06
[TIL] 자바의 기본 API - Wrapper 클래스  (0) 2020.08.06
[TIL] JVM :Java Virtual Machine  (0) 2020.08.04
[TIL] 생성자 , 초기화  (0) 2020.08.04
[TIL] this , this()  (0) 2020.08.04

댓글