본문 바로가기

bitcamp/JAVA

자바의 기본 class

1. Wrapper 클래스

· 기본 자료형 8개를 인스턴스로 요구되는 경우가 존재하는데, 그 때 객체로 다루기 위해서 사용하는 클래스들을

  래퍼 클래스라 하며, class 내부에 있는 함수를 사용한다.
· 래퍼 클래스는 기본 자료형의 첫 글자를 대문자로 변경해서 표기한다.

①Boxing: 기본자료형을 객체로 변환          ex) Interger obj = new Integer(10);

②UnBoxing: 객체를 기본자료형으로 변환    ex) int num = obj.intValue();

③Auto Boxing/Auto UnBoxing: 인스턴스를 직접적으로 혹은 기본자료형을 직접적으로 대입하는 경우 자동 변환되는 기능

 ex) Auto Boxing Integer iObj = 10;  Auto UnBoxing int num = obj;

 

 

2. Number 클래스

· java.lang.Number

  : 모든 래퍼 클래스가 상속하는 클래스이며, 래퍼 인스턴스에 저장된 값을 원하는 기본 자료형으로 반환할 수 있다.

· int형 값으로 반환  num.intValue();   long형 값으로 반환  num.longValue(); 


※integer 출력 원리는?  Object 클래스의 다형성 적용되면서 toString 메소드를 호출한다.   

· String.valueOf(); 모든 것을 String으로 변경하는 메소드, Interger.valueOf(): 모든 것을 숫자로 변경하는 메소드이다.

· valueOf() 메소드는 함수 오버로딩이 적용되어 사용되고, static 함수이다.

· 웹에서 입력되는 숫자는 문자로 인식되기 때문에 필요한 경우 Interger.valueOf 함수를 통해 숫자로 변경하여 사용한다.

 

 

3. BigInteger 클래스BigDecimal 클래스

· Biglnteger 클래스는 immutable의 속성을 지니며, 매우 큰 정수를 표현 할 때 사용한다.(long 이상의 수를 받아들일 때)
· BigDecimal 클래스는 실수를 표현 할 때 사용한다.

 

4. Math 클래스

· Math 클래스는 수학 관련 연산 기능을 제공하는 클래스이다.

· ex) Math.PI : 원주율,  Math.random: 난수 생성할 때 사용,  Math.sqrt: 제곱근

 

 

5. Array 클래스

※copyOf 메소드: 배열 복사

· int[] arr = Arrays.copyOf(arr, arr.length); → 배열 arr의 전체를 복사

· int[] arr = Arrays.copyOf(arr, 3); → 배열 arr의 index 0, 1, 2에 해당되는 값을 복사

· ex)

 

 

※sort 메소드: 배열 정렬

· sort 메소드는 배열을 오름차순 혹은 내림차순으로 정렬시켜주는 메소드이다.

· 오름차순은 값이 작은 순으로 큰 순으로 정렬시켜주며, 내림차순은 큰 순에서 작은 순으로 정렬시켜준다. 

· ex)

 

 

※compareTo 메소드: 

· 오름차순과 내림차순의 기준을 정하기 위해서 compareTo 메소드가 사용된다.

· 아래의 예와 같이 interface comparable - int compareTo(Object o) 형태로 사용되며, 인자로 전달된 o가 작다면 양수를

  반환하면서 자리 변경이 일어나고, o가 크다면 음수를 반환하면서 자리 변경이 일어나지 않는다. 

 

· ex) 오름차순                                                            · ex) 내림차순

 

· sort 메소드의 호출 원리: Arrays.sort(인자), 인자가 comparable의 compareTo 메소드를 호출하여 sort를 작동시킨다.

· search 기능: binarysearch() 해당 값을 탐색하는 메소드이지만, 오름차순 정렬 상태에서만 사용이 가능하다.

 

 

6. 문자열의 토큰 구분

· "PM:08:45" 구분자 : 를 기준으로 PM, 08, 45 총 3가지의 토큰으로 구분이 가능하다.

· 위와 같이 구분자를 통해 문자열의 토큰을 나누기 위한 방법

 

 

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

제네릭  (0) 2021.01.25
자바의 기본 class_연습문제  (0) 2021.01.25
Object 클래스_연습문제  (0) 2021.01.25
JVM 메모리모델과 Object 클래스  (0) 2021.01.25
예외처리  (0) 2021.01.21