반응형
1. Object 클래스
- Object 클래스는 모든 클래스의 최고 조상이기 때문에 Object 클래스 멤버들은 모든 클래스에서 바로 사용이 가능하다.
- Object 클래스는 멤버변수를 가지고 있지 않고, 단 11개의 메소드만 가지고 있다.
- toString()
- 객체에 대한 정보를 문자열로 제공할 목적으로 정의된 메소드
- 객체의 정보를 제공한다는 것은 대부분의 경우 인스턴스 변수에 값들을 문자열로 표현한다는 뜻이다.
- equals()
- 매개변수로 객체를 받아서 비교하여 그 결과를 boolean값으로 리턴하는 메소드
- Object 클래스의 equals()는 객체가 가지고 있는 주소 값을 비교한다. 그래서 동위 객체는 무조건 false가 나온다.( 다른 주소 이기 때문에 ) * 동위 객체 : 갖고 있는 값만 같은 객체
주소 값이 아니라 인스턴스 내부의 값을 비교하고 싶으면( 동위 객체를 동일 객체로 보고 싶으면 ) equals() 메소드를 재정의 해야한다.
- hashCode()
- 해싱기법에 사용되는 해쉬함수를 구현한 메소드
- 객체의 비교를 할 때 동일객체로 보려면 equals() 메소드 뿐만 아니라 hashCode() 메소드도 적절하게 오버라이딩을 해주어야 한다.
- 같은 객체라면 hashCode()를 호출했을 때의 결과값도 같아야 하기 때문이다.
- 우리가 만든 클래스에서 주소값이 아닌 내부의 값들로 잘 비교할 수 있도록 재정의 할 수 있어야 한다.
2. String 클래스
- 기존의 다른 언어에서는 문자열을 char 형의 배열로 다루었으나 자바에서는 문자열을 위한 클래스를 제공한다.
- 문자열을 위한 클래스를 제공한다. String 클래스는 문자열을 저장하고 이를 다루는데 필요한 메소드를 함께 제공한다.
- "문자열1".split( "문자열2" )
- "문자열1"을 "문자열2" 기준으로 나눠서 문자열 배열에 넣는다.
- "문자열1"을 "문자열2" 기준으로 나눠서 문자열 배열에 넣는다.
- String.join( "문자열", 문자열배열 )
- 배열에 있는 문자열들을 "문자열"로 연결해서 하나의 문자열로 만든다.
- . , / 등은 문자열이 아닌 식의 한 종류( 정규식 )으로 인식하기 때문에 [ ] 안에 넣어서 문자열이라는 것을 나타내줘야 한다.
- "문자열1".indexOf( "문자열2" )
- "문자열1"에서 "문자열2"를 찾아서 인덱스를 반환해준다.( int )
- "문자열2"가 중복으로 있으면 먼저 앞에 나오는 것을 반환해준다.
- 없는 경우에는 -1를 반환해준다.
- "문자열2"는 문자열이기 때문에 여러 글자도 넘길수 있다. 이때는 문자열이 시작되는 인덱스가 반환된다.
- "문자열".charAt( n )
- "문자열"의 n번째 글자를 반환해준다.( char )
- "문자열"의 n번째 글자를 반환해준다.( char )
- "문자열".toUpperCase, "문자열".toLowerCase
- "문자열".toUpperCase : 소문자를 전부 대문자로 바꾸어서 반환해준다.( String )
- "문자열".toLowerCase : 대분자를 전부 소문자로 바꾸어서 반환해준다.( String )
- 실제의 값은 바뀌지 않는다.
- "문자열".subString( n ), "문자열".subString( n, m )
- "문자열".subString( n ) : n번째 글자부터 끝까지 잘라서 반환해준다.( String )
- "문자열".subString( n, m ) : n번째 글자부터 ( m-1 )까지 잘라서 반환해준다.( String )
- String.valueOf( 값 )
- 해당 값을 문자열 타입으로 변환해준다.
- 값이 객체이면 객체.toString으로 들어가게 된다.
- Interger.parseInt( "정수로 된 문자열" )
- "정수로 된 문자열" 통째로 정수형태로 변환해준다.( int )
- Double.parseDouble( str ), Boolean.parseBoolean( str ) ...
3. Math 클래스
- Math 클래스는 기본적인 수학계산에 유용한 메소드들로 구성되어 있다.
- Math 클래스는 내부에 멤버변수들이 하나도 없기 때문에 굳이 객체로 만들어서 사용할 필요가 없다. 때문에 내부에 상수와 static 메소드들만 존재한다.
- random()
- 0.0 ~ 1.0 사이에 랜덤한 실수를 반환해 준다.( double )
- Math.random() 말고도 Random 클래스를 사용하면 랜덤으로 실수를 반환할 수 있다.
- Random 클래스에서 r.nextInt(r)을 하면 0~r 미만을 난수로 출력해준다.
- round( 실수 )
- 기본적으로 소수점 첫째자리에서 반올림 해준다. 만약 다른 소수점에서 반올림하고 싶으면 거기에 맞게 조절해주면 된다.
- 기본적으로 소수점 첫째자리에서 반올림 해준다. 만약 다른 소수점에서 반올림하고 싶으면 거기에 맞게 조절해주면 된다.
- ceil( 실수 ), floor( 실수 )
- ceil( 실수 ) : 소수점 첫째자리에서 올림, floor( 실수 ) : 소수점 첫째자리에서 내림
- 만약 다른 소수점에서 반올림하고 싶으면 round 때 처럼 조절해주면 된다.
- abs( 값 )
- abs( 값 ) : 절대값
- abs( 값 ) : 절대값
- pow( n, m )
- pow( n, m ) : n의 m제곱
- pow( n, m ) : n의 m제곱
4. Wrapper 클래스
- 기본형 타입( 원시 타입 )을 객체로 변환하여 사용할 수 있도록 도와주는 클래스들이다.
- 기본형 변수를 객체로 다루어야 할 때 사용한다.
int -> Integer
double -> Double
... - 박싱 : 기본형 타입을 객체로 변환, 언박싱 : 객체를 기본형 타입으로 변환
- Wrapper 클래스들은 모두 equals(), toString() 들이 오버라이딩이 되어있다.
- 따라서 비교할 때는 그 객체가 가지고 있는 값으로 비교하게 되고, 출력할 때에도 그 객체가 가지고 있는 값을 출력하게 된다.
- jdk 1.5 버전부터 오토 박싱과 오토 언박싱을 지원한다.
Integer 객체 = ( Integer ) 정수 값; --> 오토 박싱
객체 = 정수값 --> 오토 언박싱
반응형
'웹개발 > JAVA' 카테고리의 다른 글
[JAVA] 컬렉션 프레임워크( Collection Framework ) - Arrays, Comparable & Comparator, HashSet, TreeSet, HashMap & HashTable (0) | 2022.02.04 |
---|---|
[JAVA] 컬렉션 프레임워크( Collection Framework ) - ArrayList, LinkedList, Stack & Queue, Iterator (0) | 2022.02.03 |
[JAVA] 예외처리( exception handing ) (0) | 2022.01.28 |
[JAVA] 내부클래스( inner class ), 익명클래스( anonymous class ) (0) | 2022.01.27 |
[JAVA] 인터페이스( interface ) (0) | 2022.01.26 |