본문 바로가기

반응형

전체 글

Java - 날짜와 시간 java.util.Date - 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK 1.0) - Date의 메서드는 거의 deprecate되었지만, 여전히 쓰이고 있다. java.util.Calendar - Date클래스를 개선한 새로운 클래스(JDK 1.1). 여전히 단점이 존재 java.time패키지 - Date와 Calendar의 단점을 개선한 새로운 클래스를 제공(JDK1.8) Calendar 클래스 - 추상클래스 이므로 getInstance()를 통해 구현된 객체를 얻어야 한다. Calendar calendar = Calendar.getInstance(); - get()으로 날짜와 시간 필드 가져오기 - int get(int field) Calendar cal = Calendar.getInstan.. 더보기
Java - 래퍼클래스(wrapper) 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스. 기본형 래퍼클래스 활용예 boolean Boolean(boolean value) Boolean(String s) Boolean b = new Boolean(true); Boolean b = new Boolean("true"); char Character(char value) Character c = new Character('a'); byte Byte(byte value) Byte(String str) Byte b = new Byte(10); Byte b = new Byte("10"); short Short(short value) Short(String s) new Short(10) new Short("10") int Integer(int value).. 더보기
Java - StringBuilder 클래스 / Math 클래스 StringBuilder 클래스 - StringBuffer는 동기화 되어 있다. 멀티 쓰레드에 안전(thread-safe) - 멀티 쓰레드 프로그램이 아닌 경우, 동기화는 불필요한 성능저하 이럴 땐 StringBuffer대신 StringBuilder를 사용하면 성능 향상 Math 클래스 - 소수점 아래 세번째 자리에서 반올림 하기 1. 원래 값에 100 곱한다. 90.755 * 100 > 9075.53 2. 결과에 Math.round()를 사용한다. Math.round(9075.53) > 9076 3. 위의 결과를 다시 100.0으로 나눈다. 9076 / 100.0 > 90.76 Math 메소드 - static double abs(double a) static float abs(float a) stati.. 더보기
Java - StringBuffer 클래스 StringBuffer 클래스 - String 처럼 문자열 배열(char[])을 내부적으로 가지고 있다. - 그러나, String과 달리 내용을 변경할 수 있다.(mutable) - 내부의 배열 길이는 변경 불가, 공간이 부족하면 새로운 배열을 생성해야한다. 공간 부족 > 새로운 배열 생성 > 참조 변경 그래서 적절한 크기로 생성해야한다. 생성자에 크기를 지정하여 생성할 수 있다. 크기를 지정하지 않으면 크기는 16이다. - append()는 지정된 내용을 StringBuffer에 추가 후 참조를 반환한다. StringBuffer sb = new StringBuffer("abc"); StringBuffer sb32 = sb.append("123"); System.out.println(sb); System.. 더보기
Java - String 클래스 String 클래스 - 데이터(char[]) + 메서드(문자열 관련) public final class String implements java.io.Serializable, Comparable{ private char[] value; .... } - 내용을 변경할 수 없는 불변(immutable) 클래스 - 덧셈 연산자를 이용한 문자열 결합은 성능이 떨어짐. 문자열의 결합이나 변경이 잦다면, 내용을 변경가능한 StringBuffer를 사용 문자열 비교 - String str = "abc"; 와 String str = new String("abc"); 비교 String str1 = "abc";// 문자열 리터럴 "abc"의 주소가 str1에 저장됨 String str2 = "abc";// 문자열 리터럴 .. 더보기
Java - Object 클래스 Object 클래스 - 모든 클래스의 최고 조상. 오직 11개의 메서드만을 가지고 있다. - notify(), wait() 등은 쓰레드와 관련된 메서드이다. 메서드 설명 protected Object clone() 객체 자신의 복사본을 반환한다. public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다. (같으면 true) protected void finalize() 객체가 소멸될 때 가비지 컬랙터에 의해 자동적으로 호출된다. 이 때 수행되어야하는 코드가 있을 때 오버라이딩 한다.(거의 사용 안함) public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class 인스턴스를 반환한다. public int hashCode() .. 더보기
Java - 오류 / 예외 처리하기 프로그램 오류 - 컴파일 에러 (compile-time error) : 컴파일 할 때 발생하는 에러 - 런타임 에러 (runtime error) : 실행 할 때 발생하는 에러 : 에러(erro) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 > 개발자 처리할 수 없음. : 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 > 개발자가 처리 할 수 있음. - 논리적 에러 (logical error) : 작성 의도와 다르게 동작 예외 클래스의 계층 구조 - Object - Throwable - Error - OutOfMemeryError ... - Exception - IOException / ClassNotFoundException - RuntimeExcepti.. 더보기
Java - 내부 클래스(inner class) / 익명 클래스(anonymous class) 내부 클래스(inner class) - 클래스 안의 클래스 class A { class B { } } 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다.(캡슐화) A 클래스에서만 쓰는 클래스를 굳이 밖에 둘 필요가 없다. B클래스에서는 객체 생성 없이 A 클래스의 멤버변수에 접근할 수 있다. 종류와 특징 - 내부 클래스의 종류와 유효범위(scope)는 변수와 동일 내부 클래스에서는 static 멤버를 가지려면 내부 클래스가 static 클래스가 되어야 한다. static final 은 내부클래스가 static 클래스가 아니어도 가능 (상수는 가능) static 내부 클래스에는 외부의 멤버변수에 접근할 수 없다. static 멤버/이너클래스 > 인스턴.. 더보기

반응형