전체 글
-
11 (1) 컬렉션프레임웍과 핵심 인터페이스Java 2023. 5. 14. 22:05
컬렉션 프레임웍 (collections framework) 컬렉션(collection) - 여러 객체(데이터)를 모아 놓은 것을 의미 프레임웍(framework) - 표준화, 정형화된 체계적인 프로그래밍 방식 컬레션 프레임웍(collections framework) - 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 >> 컬렉션(데이터가 많다) , 다룰 수 (저장, 삭제, 검색, 정렬) - java.util 패키지에 포함. JDK1.2부터 제공 컬렉션 클래스(collection class) - 다수의 데이터를 저장할 수 있는 클래스(예, Vector, ArrayList, HashSet) 컬렉션 프레임웍의 핵심 인터페이스 Colle..
-
10 (1) Calender 클래스Java 2023. 5. 14. 21:31
날짜와 시간 *java.util.Date - 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0) - Date의 메서드는 거의 deprecated 되었지만, 여전히 쓰이고 있다 *java.util.Calendar - Date클래스를 개선한 새로운 클래스(JDK1.1) 여전히 단점이 존재 *java.time 패키지 - Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공(JDK1.8) >> Date와 Calendar는 항상 날짜+시간을 같이 다룬다 (단점) >> time은 LocalDate(날짜), LocalTime(시간), LocalDateTime(날짜+시간) 나눌 수 있다 Calendar 클래스 - 추상 클래스이므로 getInstance( )를 통해 구현된 객체를 얻어야 한다 - ge..
-
09 (4) StringBuffer클래스Java 2023. 5. 13. 21:41
StringBuffer클래스 - String처럼 문자형 배열(char[ ])을 내부적으로 가지고 있다. >> 문자열을 저장하고 다루기 위한 클래스 - 그러나, String과 달리 내용을 변경할 수 있다.(mutable) >> 문자열을 변경하거나 추가할때는 StringBuffer를 사용하는게 좋다 StringBuffer의 생성자 - 배열은 길이 변경불가. 공간이 부족하면 새로운 배열 생성해야 된다 - StringBuffer는 저장할 문자열의 길이를 고려해서 적절한 크기로 생성해야 된다 StringBuffer의 변경 - StringBuffer는 String과 달리 내용 변경이 가능하다 - append( )는 지정된 내용을 StringBuffer에 추가 후, StringBuffer의 참조를 반환 >> appe..
-
09 (3) String클래스Java 2023. 5. 12. 21:23
String클래스 - String 클래스 = 데이터(char[ ]) + 메서드(문자열 관련) - 문자형 배열(char[ ])과 그에 관련된 메서드 들이 정의되어 있다 - 내용을 변경할 수 없는 불변(immutable) 클래스(내용 변경이 불가능) - 덧셈 연산자(+)를 이용한 문자열 결합은 성능이 떨어짐 >>계속 새로운 객체가 발생, 문자열은 내용을 변경 불가능하기 때문에 ※ 문자열의 결합이나 변경이 잦다면, 내용을 변경가능한 StringBuffer를 사용 (내용 변경이 가능) 문자열의 비교 - String str = "abc"; 와 String str = new String("abc");의 비교 >> equals는 내용을 비교하므로 참이 나온다 반면 ==는 주소 값을 비교하므로 false 값이 나온다 ..
-
09 (2) object클래스와 equals( )Java 2023. 5. 12. 21:12
Object클래스의 메서드 - 모든 클래스의 최고 조상. 오직 11개의 메서드만을 가지고 있다. - notfiy( ), wait( ) 등은 쓰레드와 관련된 메서드이다. - equals( ), hashCode( ), toString( )은 적절히 오버라이딩해야 한다. equals(Object obj - 객체 자신과 주어진 객체(obj)를 비교한다. 같으면 true, 다르면 false. - Object클래스에 정의된 equals( )는 참조변수 값(객체의 주소)을 비교한다 - 인스턴스 변수(iv)의 값을 비교하도록 equals( )를 오버라이딩해야 한다. CV : 객체마다 공통 (공유) , iV : 객체마다 다름 (개별) >> CV는 객체마다 같기 때문에 구별 안됨, 때문에 iV로 객체를 비교(equas( ..
-
09 (1) hashCode( ) toString( )Java 2023. 5. 10. 21:35
hashCode( ) - 객체의 해시코드(hash code)를 반환하는 메서드 - Object클래스의 hashCode()는 객체의 주소를 int로 변환해서 반환 - equals( )를 오버라이딩하면, hashCode( )도 오버라이딩해야 한다. - System.identityHashCode(Object obj)는 Object클래스의 hashCode( )와 동일 toString( ), toString( )의 오버라이딩 - toString( ): 객체를 문자열(String)으로 변환하기 위한 메서드 equals(Object obj) - 객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 true, 다르면 false. >> 반환 타입은 boolean - object클래스의 equals( )는 객체..
-
08 (2) 예외선언하기Java 2023. 5. 10. 21:25
메서드에 예외 선언하기 - 예외를 처리하는 방법 : 1. try-catch문 - 직접처리 2. 예외 선언하기 - 떠넘기기 3. 비어있는 catch 블록 - 은폐 >> 데이터를 버리고 진행 - 메서드가 호출시 발생 가능한 예외를 호출하는 쪽에 알리는 것 >> method( ) 호출시 throws 이후의 Exception1, Exception2...의 예외가 발생할 수 있다고 알려준다 >> ①번의 예외 처리가 많아 보이지만, ②번의 Exception은 조상으로 모든 예외가 발생가능하여 예외의 개수는 ②번 더 많다 method( ) 호출하여 사용할 경우, try-catch문으로 예외를 처리해야 한다. ※참고 - 예외를 발생시키는 키워드 throw와 예외를 선언할 때 쓰이는 throws를 구별하자 - 예외 떠넘..
-
08 (1) 예외 클래스의 계층구조Java 2023. 5. 9. 14:45
프로그램 오류 - 컴파일 에러: 컴파일 할 때 발생하는 에러 - 런타임 에러 : 실행 할 때 발생하는 에러 - 논리적 에러 : 작성 의도와 다르게 동작 -java의 런타임 에러 에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(exception) 프로그램 코드에 수습될 수 있는 다소 미약한 오류 - 예외처리의 정의와 목적 예외처리(exception handling)의 정의 - 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 - 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 상속계층도 예외 처리학기. try-catch 문 예외처리(exception handling)의 - 정의 : 프로그램 실행시 발생할 수 있는 예외의 발생에 대비한..