3 분 소요

Object클래스

Object클래스의 메서드

모든 클래스의 최고 조상으로 오직 11개의 메서드만을 가지고 있습니다.

equals(), hashCode(), toString()은 적절히 오버라이딩해야합니다.

notify(), wait() 등은 쓰레드와 관련된 메서드 입니다.

Object클래스의 메서드 설 명
protected Object clone() 객체 자신의 복사본을 반환한다.
public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다(같으면 true)
protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출된다. 이 때 수행되어야하는 코드가 있는 경우에만 오버라이딩한다.
public class getClass() 객체 자신의 클래스 정보를 담고 있는 Class인스턴스를 반환한다.
public int hashCode() 객체 자신의 해시코드를 반환한다.
public String toString() 객체 자신의 정보를 문자열로 반환한다.
public void notify() 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨운다.
public void notifyAll() 객체 자신을 사용하려고 기다리는 모든 쓰레드를 깨운다.
public void wait() 다른 쓰레드가 notify()나 notifyAll()을 호출할 때까지 현재 쓰레드를 무한히 또는 지정된 시간(timeout, nanos)동안 기다리게 한다.(timeout은 천 분의1초, nanos는 109분의 1초)
publiv void wait(long timeout) 다른 쓰레드가 notify()나 notifyAll()을 호출할 때까지 현재 쓰레드를 무한히 또는 지정된 시간(timeout, nanos)동안 기다리게 한다.(timeout은 천 분의1초, nanos는 109분의 1초)
public void wait(long timeout, int nanos) 다른 쓰레드가 notify()나 notifyAll()을 호출할 때까지 현재 쓰레드를 무한히 또는 지정된 시간(timeout, nanos)동안 기다리게 한다.(timeout은 천 분의1초, nanos는 109분의 1초)

equals(Object obj)

객체 자신과 주어진 객체를 비교합니다. 같으면 true이고 다르면 false입니다.

Object클래스에 정의된 equals()는 참조변수 값(객체의 주소)을 비교합니다.

public boolean equals(object obj) {
    return (this==obj);
}

equals()를 오버라이딩해서 인스턴스변수의 값을 비교하도록 바꿉니다.

image-20240207102916569

hashCode()

객체의 해시코드를 반환하는 해시 함수 입니다.

해시코드는 데이터를 저장하고 검색하는 방법중의 하나인 해싱을 구현한 컬렉션 클래스에서 객체를 저장하고 읽어올 때 사용하는 키입니다.

동일한 실행에서 한 객체에 대해 hashCode()를 반복해서 호출했을 때 얻어지는 해시코드는 동일해야 합니다. 호출할 때마다 값이 달라지면 안됩니다.

일반적으로 해시코드가 같은 인스턴스들이 존재하는 것은 가능하지만 Object클래스에 정의된 hashCode()는 객체의 주소값으로 해시코드를 생성하므로 두 인스턴스의 해시코드는 같을 수 없습니다.

equal()를 오버라이딩하면, hashCode()도 적절히 오버라이딩 해야합니다.

toString()

객체의 정보를 문자열로 제공할 목정으로 정의된 메서드 입니다.

image-20240207112456556

getClass()

자신이 속한 클래스의 Class객체를 반환하는 메서드입니다.

Class객체는 클래스이 모든 정보를 담고 있으며, 클래스당 단 1개만 존재합니다. 클래스 파일(*.class)이 메모리에 로드될때 생성됩니다.

clone()

image-20240207113247424

String클래스

String클래스의 특징

문자형 배열(char[])과 그에 관련된 메서드들이 정의되어 있습니다.

String인스턴스의 내용은 바꿀 수 없습니다.

String str = “abc”;와 String str = new String(“abc”);의 비교

String str1 = “abc”;
String str2 = “abc”;

이것은 str1가 먼저 “abc”로 초기화했고, str2가 “abc”라는 값이 있는 주소를 같이 공유합니다.

String str3 = new String(“abc”);
String str4 = new String(“abc”)

위의 소스코드는 생성자로 각각 “abc”라는 값을 다른 주소에 저장합니다.

빈 문자열(“”, empty string)

  • 내용이 없는 문자열, 크기가 0인 char형 배열을 저장하는 문자열입니다.

  • 크기가 0인 배열을 생성하는 것은 어느 타입이나 가능합니다.

    char [] cArr = new char[0];  //크기가 0인 char 배열
    int [] iArr = {}; //크기가 0인 int 배열
    
  • String str=”“;은 가능해도 char c = ‘‘;는 불가능

  • String 은 참조형의 기본값인 null 보다 빈 문자열로 초기화하고 char형은 기본값인 ‘\u0000’보다 공백으로 초기화

    String s= null;
    char c ='\u0000'
          
    =>
    String s = "";//빈 문자열로 초기화
    char c = ' ';//공백으로 초기화
    

String클래스의 생성자와 메서드

메서드 설명 결과
String (String s) 주어진 문자열(s)을 갖는 String인스턴스를 생성한다.
String s = new String("Hello");
s="Hello"
String (char [] value) 주어진 문자열(value)을 갖는 String인스턴스를 생성한다. s="Hello"
String (StringBuffer buf) StringBuffer인스턴스가 갖고 있는 문자열과 같은 내용의 String 인스턴스를 생성한다. s="Hello"
char charAt (int index) 지정된 위치(index)에 있는 문자를 알려준다. (index 는 0부터 시작) c='e'
c2='1'
String concat (String str) 문자열(str)을 뒤에 덧붙인다. s2="Hello World"
boolean contains (CharSequence s) 지정된 문자열(s)이 포함되어있는지 검사한다. b=true
boolean endsWith (String suffix) 지정된 문자열(suffix)로 끝나는지 검사한다. b=true
boolean equals(Object obj) 매개변수로 받은 문자열(obj)과 String인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false를 반환한다. b=true
b2=false
boolean equalsIgnoreCase (String str) 문자열과 String인스턴스의 문자열을 대소문자 구분없이 비교한다. b=true
b2=true
int indexOf(int ch) 주어진 문자(ch)가 문자열에 존재하는지 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. idx1=4
idx2=-1
int indexOf(String str)    
String intern()    
int lastIndexOf(int ch)    
int lastIndexOf(String str)    
int length()    
String replace (char old, char nw)    
String replace(CharSequence old, CharSequence nw)    
String replaceAll(String regex, String replacement)    
String replaceFirst(String regex, String replacement)    
String [] split(String regex)    
String [] split(String regex, int limit)    
boolean startsWith(String prefix)    
String substring(int begin)
String substring(int begin, int end)
   
String toLowerCase()    
String toString()    
String toUpperCase()    
String trim()    
static String valueOf()    

image-20240207140147085

image-20240207142120677

image-20240207143958346

문자열과 기본행간의 변환

image-20240207145139626

StringBuffer클래스

StringBuffer클래스의 특징

image-20240207160559976

StringBuffer클레스의 생성자와 메서드

image-20240207162629815

image-20240207162732542

image-20240207165650395

Math클래스

image-20240207172316259

wrapper클래스

image-20240207172517816

Number클래스

숫자를 멤버변수로 갖는 클래스의 조상(추상클래스)

카테고리:

업데이트:

댓글남기기