java
-
CHAPTER 9. (5) ★ 래퍼Wrapper 클래스란? (★ Number 클래스, 문자열 숫자로 변환, 오토박싱 언박싱 포함)java/ㄴ CHAPTER 9. java.lang 패키지와 유용한 클래스 2020. 4. 23. 14:02
★ 래퍼Wrapper 클래스 - 기본형 변수를 객체로 다뤄야 하는 경우 기본형 값들을 객체로 변환하여 작업 수행할 때 사용하는 것 (매개변수로 객체를 요구할 때, 기본형 값이 아닌 객체로 저장해야 할 때, 객체간 비교가 필요할 때...) - 각 자료형에 알맞는 값을 내부적으로 저장하고 있음 (이에 관련된 여러 메서드 정의되어 있음) 기본형 래퍼클래스 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double Number 클래스 - 래퍼 클래스들의 조상 BigInteger - long으로 다룰 수 없는 큰 범위의 정수 처리 BigDecimal - double로 다룰 수 없는 큰 범위의 ..
-
CHAPTER 9. (4) ★ Math 클래스란? (★ Math 클래스 메서드 포함)java/ㄴ CHAPTER 9. java.lang 패키지와 유용한 클래스 2020. 4. 23. 13:59
Math 클래스 - 기본적인 수학계산에 유용한 메서드 - 접근제어가 private (Math인스턴스 생성 불가) ㄴ 왜? 클래스 내에 인스턴스 변수가 하나도 없어서 인스턴스 생성할 필요 없음 - 메서드 모두 static - 상수는 2개 (E 자연로그, PI 원주율) ex. random() : 임의의 수 획득 round() : 반올림, 항상 소수점 첫째자리에서 반올림 rint() : 인자값에 가장 가까운 정수를 double 형으로 리턴 ★ 원하는 자리 수에서 반올림한 값 얻기 1. 10의 제곱 곱하기 2. 곱한 수로 나누기 ex. 90.7552 값을 소수점 셋째자리에서 반올림하고, 소수점 두 자리까지 값을 구하려면 1. 100 곱하기 90.7552 * 100 = 9075.52 2. Math.round() ..
-
CHAPTER 9. (3) ★ StringBuffer 클래스란? (★ StringBuffer 메서드 포함)java/ㄴ CHAPTER 9. java.lang 패키지와 유용한 클래스 2020. 4. 23. 12:25
★ StringBuffer 클래스 - 지정된 문자열 변경 가능 (내부적으로 문자열 편집을 위한 버퍼 가짐) - 인스턴스 생성 할 때 크기 지정 가능 ㄴ 인스턴스 생성 시 char 배열 생성, 생성된 배열은 문자열 저장, 편집을 위한 공간으로 사용됨 - 버퍼 크기 미지정시 16개 문자 저장 가능한 크기의 기본 버퍼 제공 ★ 배열 길이는 변경될 수 없으므로 새로운 길이의 배열 생성 후, 이전 배열 값을 새로운 배열에 복사함 append() - 반환타입이 StringBuffer, 자신의 주소를 반환 ex. StringBuffer sb = new StringBuffer("abc"); // sb = abc123 sb.append("123"); // sb = abc123 StringBuffer sb2 = sb.ap..
-
CHAPTER 9. (2) ★ String클래스란? (★★★ String 클래스 생성자, 메서드 포함)java/ㄴ CHAPTER 9. java.lang 패키지와 유용한 클래스 2020. 4. 23. 12:16
★ String클래스 - 문자열을 위한 클래스 - 문자열을 저장, 이를 다루는 메서드 제공 - 불변객체 => 한번 생성한 문자열은 읽기만 가능 (변경 불가) ㄴ 바뀌던데? : 바뀌는 게 아니라 새로운 문자열이 담긴 인스턴스가 생성됬던 것 ㄴ 덧셈 연산자로 인한 연산 시마다 새로운 문자열을 가진 인스턴스가 생성됨 (메모리 공간 낭비) => 가능한 자제 ㄴ 만약 문자열 간 결합, 추출 등이 필요한 작업이라면 String 클래스 말고 StringBuffer 클래스 사용 추천 문자열 작성 시 방법 - 문자열 리터럴 지정 ㄴ 이미 존재하는 경우 재사용 - String 클래스 생성자 사용 ㄴ new 연산자에 의해 메모리 할당, 항상 새로운 인스턴스 생성 ★ 두 문자열 비교? equals 사용 시 내용을 비교하기 때..
-
CHAPTER 9. (1) java.lang 패키지란? (★ Object 클래스 주요 메서드 포함)java/ㄴ CHAPTER 9. java.lang 패키지와 유용한 클래스 2020. 4. 23. 11:02
java.lang 패키지 - 자바 프로그래밍 가장 기본적인 클래스들 포함 => java.lang 패키지의 클래스들은 import문 없이 사용 가능 (ex. String 클래스, System 클래스) Object 클래스 - 모든 클래스의 최고 조상 - 멤버변수 없음 - 11개의 메서드 가짐 (모든 인스턴스가 가져야 할 기본) 주요한 몇 가지 정리 1. equals() - 매개변수로 객체의 참조변수를 받아서 비교 (결과는 boolean 값) - 참조변수에 저장된 주소값이 같은지 판단하는 기능 => 저장된 주소값이 아닌, 객체에 저장된 내용이 같은지 비교하고 싶다면 오버라이딩 필요 2. hashCode() - 데이터 관리 기법 중 하나 - 다량의 데이터 저장, 검색에 유용 - 객체의 주소값 이용, 해시코드 생..
-
CHAPTER 8. (4) ☆ finally 블럭이란? (throw, throws 차이 포함)java/ㄴ CHAPTER 8. 예외처리 2020. 4. 23. 10:05
finally 블럭 - 예외 발생여부에 상관없이 실행되야 할 코드를 포함시킬 목적으로 사용 - try - catch - finally 순으로 진행 (finally블럭은 맨 마지막에 위치) try { 예외 발생 가능성 문장 } catch { 예외 처리 문장 } finally { 예외 발생여부 관계없이 항상 수행할 문장 } 예외 발생시 try - catch - finally 순 예외 발생하지 않을 시 try - finally 순 항상 수행해야 할 예시 - 점유했던 리소스 해제하는 수행문 - 트랜잭션 처리하는 수행문 - ... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Ex1 extends Exception { } public void m1() throws..
-
CHAPTER 8. (3) 예외 발생이란?java/ㄴ CHAPTER 8. 예외처리 2020. 4. 23. 10:01
예외 발생 - 키워드 throw 사용, 고의로 예외 발생 Exception e = new Exception("고의로 발생시킴"); throw e; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package ex1; public class sampleTest { public static void main(String[] args) { try { Exception e = new Exception("고의로 발생시킴"); throw e; // throw new Exception("고의로 발생시킴); 으로 축약 가능 } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } } } 출력 java.la..
-
CHAPTER 8. (2) 멀티 catch 블럭이란?java/ㄴ CHAPTER 8. 예외처리 2020. 4. 23. 09:59
멀티 catch 블럭 - JDK 1.7부터 | 기호 사용, catch 블럭들을 하나로 합칠 수 있게 됨 - 개수 제한 없음 - 연결된 예외 클래스가 부모, 자식 관계라면 컴파일 에러 ㄴ 왜? 부모 클래스만 쓰는 것과 같기 때문 (ex.FileNotFoundException | Exception) 단점 - 어떤 예외가 발생한건지 알 수 없음 - 공통 분모인 부모 예외 클래스에 선언된 멤버만 사용 가능 1 2 3 4 5 6 7 8 9 10 11 try { } catch (ExceptionA e1) { } catch (ExceptionB e2) { } catch (ExceptionC e3) { } 를 1 2 3 4 5 try { } catch (ExceptionA | ExceptionB | ExceptionC..