728x90
[기본 개념] 4 | (1.5) Math 클래스의 메서드1 Object클래스2 String클래스3 StringBuffer클래스와 StringBuilder클래스4> Math클래스5 래퍼(wrapper)클래스4. Math클래스 수학계산에 유용한 메서드로 구성되어 있다. Math클래스의 생성자는 접근제어자가 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없도록 되어있다. 클래스 내에 인스턴스 변수가 하나도 없고, 메서드는 모두 static이며, 아래와 같이 2개의 상수만 정의해 놓았다. Public static final double E = 2.7182818284590452354 ; // 자연로그의 밑public static final double PI = 3.1415926535..
[기본 개념] 4 | (1.4) StringBuffer클래스, StringBuilder 클래스의 메서드1 Object클래스2 String클래스3> StringBuffer클래스와 StringBuilder클래스4 Math클래스5 래퍼(wrapper)클래스3. StringBuffer클래스와 StringBuilder클래스 String클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없지만 StringBuffer클래스는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며, StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다. 이때, 수정 작업이 추가로 수행되지 않도록 편집할 문자열의 길이를 고려하여 버퍼의 길이를 충분히 잡아주는 것이 좋다. String..
[기본 개념] 4 | (1.3) String 클래스의 메서드1 Object클래스2> String클래스3 StringBuffer클래스와 StringBuilder클래스4 Math클래스5 래퍼(wrapper)클래스2. String클래스변경 불가능한(immutable)클래스 String클래스에는 문자열을 저장하기 위해 문자형 배열 참조변수(char[ ]) value를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받는 문자열은 이 인스턴스변수(value)에 문자형 배열(char[ ])로 저장되는 것이다. public final class String implements java.io.Serializable, Comparable { private char[ ] value ..
[기본 개념] 4 | (1.2) Object 클래스의 메서드1> Object클래스2 String클래스3 StringBuffer클래스와 StringBuilder클래스4 Math클래스5 래퍼(wrapper)클래스1. Object클래스(2)clone( ) 이 메서드는 자신을 복제하여 새로운 인스턴스를 생성하는 일을 한다. 인스턴스에 대해 작업할 때, 원래의 인스턴스는 보존하고 clone메서드를 이용해서 새로운 인스턴스를 생성하여 작업을 하면 작업 이전의 값이 보존되므로 작업에 실패해서 원래로 되돌리거나 변경하기 전의 값을 참고하는데 도움이 될 것이다. Object클래스에 저의 clone( )은 단순히 인스턴스변수의 값만 복사하기 때문에 참조타입의 인스턴스 변수가 있는 클래스는 완전한 인스턴스 복제가 이루어지..
[기본 개념] 4 | (1.1) Object 클래스의 메서드1> Object클래스2 String클래스3 StringBuffer클래스와 StringBuilder클래스4 Math클래스5 래퍼(wrapper)클래스1. Object클래스(1)Object클래스는 모든 클래스의 최고 조상이기 때문에 모든 클래스에서 바로 사용 가능하다. Object클래스의 메서드설명protected Object clone( )객체 자신의 복사본을 반환한다.public boolean equals(Object obj)객체 자신과 obi가 같은 객체인지 알려준다.(같으면 true)protected void finalize( )객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출된다. 이 때 수행되어야 하는 코드가 있을 때 오버라이딩한다..
[기본 개념] 3 | (1.4) 사용자 정의 예외, 예외 되던지기, 연결된 예외1 프로그램 오류2 예외 클래스의 계층구조3 예외처리하기 - try-catch문4 try-catch문에서의 흐름5 예외의 발생과 catch블럭6 예외 발생시키기7 메서드에 예외 선언하기8 finally블럭9 자동 자원 반환 - try-with-resources문10> 사용자 정의 예외 만들기11> 예외 되던지기(exception re-throwing)12> 연결된 예외(chained exception)10. 사용자 정의 예외 만들기 필요에 따라 새로운 예외 클래스를 정의하여 사용할 수 있다. 보통 Exception클래스 또는 RuntimeException클래스로부터 상속받아 클래스를 만들지만, 예외 클래스를 선택할 수 있다. ..
[기본 개념] 3 | (1.3) Finally 블럭, Try-with-resources 문1 프로그램 오류2 예외 클래스의 계층구조3 예외처리하기 - try-catch문4 try-catch문에서의 흐름5 예외의 발생과 catch블럭6 예외 발생시키기7> 메서드에 예외 선언하기8> finally블럭9> 자동 자원 반환 - try-with-resources문10 사용자 정의 예외 만들기11 예외 되던지기(exception re-throwing)12 연결된 예외(chained exception)7. 메서드에 예외 선언하기 예외를 메서드에 선언하는 방법은 메서드의 선언부에 키워드 throws를 사용하여 발생할 수 있는 예외를 적어주면 된다. void method( ) throws Exception1, Excep..
[기본 개념] 3 | (1.2) Try-catch 문, 예외 발생1 프로그램 오류2 예외 클래스의 계층구조3 예외처리하기 - try-catch문4> try-catch문에서의 흐름5> 예외의 발생과 catch블럭6> 예외 발생시키기7 메서드에 예외 선언하기8 finally블럭9 자동 자원 반환 - try-with-resources문10 사용자 정의 예외 만들기11 예외 되던지기(exception re-throwing)12 연결된 예외(chained exception)4. try-catch문에서의 흐름 예외가 발생한 경우와 발생하지 않았을 때의 문장의 실행순서가 달라지는데 두 가지 경우에 따른 문장 실행순서를 정리하였다. - try블럭 내에서 예외가 발생한 경우1 발생한 예외와 일치하는 catch블럭이 있..