# 02 썸네일형 리스트형 [윤성우 열혈자바] 20-2. BigInteger 클래스와 BigDecimal 클래스 매우 큰 정수 표현 위한 java.math.BigInteger 클래스 - immutable 인스턴스임!! public static void main(String[] args) { // long형으로 표현 가능한 값의 크기 출력System.out.println( "최대 정수 : " + Long.MAX_VALUE );System.out.println( "최소 정수 : " + Long.MIN_VALUE );System.out.println(); // 매우 큰 수를 BigInteger 인스턴스로 표현 - "" 따옴표 무조건 해줘야함!!!(숫자 표현 불가하기 떄문)BigInteger big1 = new BigInteger("100000000000000000000000000");BigInteger big2 = ne.. [윤성우 열혈자바] 20-1. 래퍼 클래스 래퍼 클래스- 기본 자료형 값을 래퍼 클래스(인스턴스)로 감싸는 것. - 즉, 기본 자료형 값을 가진 인스턴스를 생성한다. 기본 자료형의 값을 감싸는 래퍼 클래스 class UseWrapperClass { public static void showData(Object obj) {System.out.println(obj);} 기본 자료형은 class가 아니기 때문에 Object를 상속하지 않는다.인스턴스를 요구하는 메소드이 메소드를 통해서 정수나 실수를 출력하려면 해당 값을 인스턴스화 해야 한다. public static void main(String[] args) { Integer iInst = new Integer(3);showData(iInst);showData(new Double(7.15)); }}.. [윤성우 열혈자바] 19-2. Object 클래스 Object 클래스의 finalize 메소드 protected void finalize() throws Throwable Object 클래스에 정의되어 있는 이 메소드는 인스턴스 소멸 시(JVM에 의해 가비지 컬렉션 작동 시) 자동으로 호출이 된다. 단, 가비지 컬렉션이 자주 작동하면 자바 성능이 저하 될 수 있어 가상머신이 알아서 동작한다.따라서 finalize 메소드가 언제 실행될지 예측 할 수 없어 사용하지 않는다. 사용 안되고 프로그램이 종료 될 수도.. 자식 클래스에서 오버라이딩 할 수 있음. finalize 메소드의 오버라이딩 예 class Person {String name; public Person (String name) {this.name = name;} @Overrideprotecte.. [윤성우 열혈자바] 19-1. 자바 가상머신의 메모리 모델 운영체제 입장에서 자바 가상머신 운영체제의 관점에서는 가상머신도 그냥 프로그램의 하나. 운영체제가 일반 프로그램에게 4G 메모리 공간을 할당해준다면, JVM에게도 4G 메모리 공간을 할당해준다. 자바 프로그램에 두 개 실행되면, 가상머신도 두 개가 실행된다. 이는 메모장을 두 번 띄우면 두 개의 메모장 프로그램이 실행하는 이치와 같다. 자바 가상머신의 메모리 모델 메소드 영역 (Method Area)메소드의 바이트코드, static 변수 스택 영역 (Stack Area)지역변수, 매개변수 힙 영역 (Heap Area)인스턴스 메모리 공간 활용의 효율성을 높이기 위해 메모리 공간을 이렇듯 세 개의 영역으로 구분하였다. 메소드 영역 class Boy {static int average = 0; public .. [윤성우 열혈자바] 18-2. 예외처리에 대한 나머지 설명들 예외 클래스의 구분 Error 클래스를 상속하는 예외 클래스 Exception 클래스를 상속하는 예외 클래스 RuntimeException 클래스를 상속하는 예외 클래스-> RuntimeException 클래스는 Exception 클래스를 상속한다. 1. Error 클래스를 상속하는 예외 클래스들의 특성 Error 클래스를 상속하는 예외 클래스의 예외 상황은 시스템 오류 수준의 예외 상황으로 프로그램 내에서 처리 할 수 있는 수준의 예외가 아니다. ex) VirtualMachineError 가상머신에 심각한 오류 발생IOError 입출력 관련해서 코드 수준 복구가 불가능한 오류 발생 2. RuntimeException 클래스를 상속하는 예외 클래스들의 특성 코드 오류로 발생하는 경우가 대부분이다. 따라서.. [윤성우 열혈자바] 18-1. 자바 예외처리의 기본 일반적인 자바예외는 사용자의 실수라고 정의하자. 자바에서 말하는 예외 예외 (Exception) '예외적인 상황'을 줄여서 '예외'라 한다. 단순한 문법 오류가 아닌 실행 중간에 발생하는 '정상적이지 않은 상황'을 뜻한다. 예외처리 예외 상황에 대한 처리를 의미한다. 자바는 예외처리 메커니즘을 제공한다. 예외 상황을 알리기 위한 클래스 java.lang.ArithmeticException -> 수학 연산에서의 오류 상황을 의미하는 예외 클래스 java.util.InputMismatchException -> 클래스 Scanner를 통한 값의 입력에서의 오류 상황을 의미하는 예외 클래스 if ~ else 문을 써도 예외처리 할 수 있지만 예외처리하는 부분을 구분하기 위해 try ~ catch 문을 사용한다... [윤성우 열혈자바] 17-2. 인터페이스의 문법 구성과 추상 클래스 인터페이스에 선언되는 메소드와 변수 인터페이스는 외부에서 클래스가 사용하는 방법을 명시하는 것이므로 외부에서 사용할 수 있게 public으로 인식함. interface Printable {public void print(String doc); // 추상 메소드. 무조건 public임 선언하지 않아도 default가 아니라 public으로 인식함.} interface Printable {public static final int PAPER_WIDTH = 70;public static final int PAPER_HEIGHT = 120;public void print(String doc);} 인터페이스는 인스턴스 생성이 불가하므로 인스턴스 변수 생성 할 수 없음!! 단, 상수 선언 가능!! 변수 는 무조건 .. [윤성우 열혈자바] 17-1. 인터페이스의 기본과 그 의미 추상 메소드만 담고 있는 인터페이스 interface Printable {public void print(String doc); // 추상 메소드}인터페이스의 정의! 메소드의 몸체를 갖지 않는다.따라서 인스턴스 생성 불가! 참조변수 선언 가능! class Printer implements Printable {public void print(String doc) {System.out.println(doc);}}인터페이스를 구현하는 클래스!구현하는 메소드와 추상 메소드 사이에도 메소드 오버라이딩 관계 성립, 따라서 @Override 붙일 수 있음 Printable prn = new Printer();prn.print( "Hello" ); 인터페이스형 참조변수 선언 가능 Printer 클래스안에 메서드를 정의.. 이전 1 ··· 47 48 49 50 51 52 53 ··· 86 다음