자바 (Java) 썸네일형 리스트형 Chpt 11. 컬렉션 프레임워크 - 주제 3. List 인터페이스와 구현 클래스들 1. List 인터페이스의 메서드 1) Collection 인터페이스 메서드 참고 2) List 인터페이스 메서드 참고 2. 구현 클래스 핵심 구현 클래스는 노란색으로 강조돼 있다. 1) ArrayList (1) 특징 (1) Object 배열을 갖고 있다. - 모든 종류의 객체를 담을 수 있다. - 순차적으로 객체가 저장된다. - 변경 작업 중에 크기가 부족하면 ① 새로운 배열을 생성 ② 복사 ③ 새로운 배열로 참조 변경 (2) 삭제 과정 - 마지막 데이터 null로 변경 - 그 외 ① 삭제할 데이터의 인덱스보다 큰 인덱스들을 모두 왼쪽으로 하나씩 이동 ② 마지막 데이터 null로 변경 (3) 추가 과정 ① 추가할 데이터의 인덱스보다 큰 인덱스들을 모두 오른쪽으로 하나씩 이동 ② 빈 인덱스에 데이터 추가.. 더보기 Chpt 11. 컬렉션 프레임워크 - 주제 1. 컬렉션 프레임워크와 핵심 인터페이스 1. 컬렉션 프레임워크 컬렉션 프레임워크 = Collection + Framework 단어 각각의 의미를 살펴보자. Collection은 데이터 그룹, framework는 정형화된 프로그래밍 방식이다. 즉, 컬렉션 프레임워크란 다수의 데이터를 저장하는 클래스들을 효율적으로 다루기 위한 표준화된 프로그래밍 방식이다. 앞서 말한 데이터를 저장하는 클래스들을 컬렉션 클래스라고 한다. 1) 라이브러리 vs. 프레임워크 라이브러리 = 유용한 기능 프레임워크 = 유용한 기능 + 표준화된 프로그래밍 방식 이러한 프레임워크의 방식은 개발 생산성과 재사용성을 높이고, 유지 보수를 용이하게 한다. 2) 핵심 인터페이스 조상 인터페이스 인터페이스 특징 구현 클래스 예 저장 순서 중복 Collection List O O Ar.. 더보기 Chpt 9. java.lang 패키지, util 클래스 - 주제 4. 래퍼 클래스 1. 래퍼 클래스 객체 지향에서의 모든 것들은 객체로 다루어저야 한다. 래퍼 클래스는 이와 같은 특징을 반영하는 즉, 기본형을 감싸는 클래스이다. 다음은 래퍼 클래스의 종류와 생성자이다. 기본형 래퍼 클래스 생성자 메서드 / 상수 boolean Boolean Boolean(boolean value) Boolean(String s) (1) toString(), equals() 모두 오버라이딩 되어있다. (2) 비교 연산자를 사용하는 것이 불가하기 때문에 compareTo()를 사용한다. (3) 상수로는 MAX_VAULE, MIN_VALUE, SIZE, BYTES, TYPE이 있다. (4) 문자열 → 기본형 타입.parse타입(문자열) (5) 기본형 → 문자열 String.valueOf(기본형) (OR 기본.. 더보기 Chpt 9. java.lang 패키지, util 클래스 - 주제 3. Math 클래스 Math 클래스 생성자의 접근 제어자는 private인데, 모든 멤버가 static이므로 인스턴스를 생성할 필요가 없기 때문이다. 자주 사용하는 메서드는 다음과 같다. 메서드 / 설명 참고 static double abs(double a) static double abs(float f) static double abs(int f) static double abs(long f) static double ceil(double a) 음수의 경우 헷갈리지 않도록 주의하자. static double floor(double a) static double max(double a, double b) static float max(float a, float b) static int max(int a, int b) sta.. 더보기 Chpt 9. java.lang 패키지, util 클래스 - 주제 2. String vs. StringBuffer 클래스 String 클래스 StringBuffer 클래스 문자열 크기 생성할 때 문자열의 크기와 같음 생성자를 통해 지정 가능 (1) 정수값 인자: 정수값 (2) 인자가 없을 경우 16 (3) 문자열 인자: 문자열의 크기 + 16 변경 가능 여부 X (immutable) O (mutable) 비교 (==) 객체 주소 비교 equals 오버라이딩 O, 값 비교 오버라이딩 X, 객체 주소 비교 => (1) toString(), (2) equals() 1. String 클래스 1) 변경 불가 (immutable) vs. 변경 가능 (mutable) 클래스 변경이 불가하다는 말은 연산을 할 때마다 새로운 인스턴스가 생성된다는 말이다. 따라서 추가, 변경, 삭제 등의 작업을 할 때는 StringBuffer 클래스를 사용.. 더보기 Chpt 9. java.lang 패키지, util 클래스 - 주제 1. Object 클래스 java.lang 패키지는 기본적인 클래스를 포함하고 있으며 import문 없이 바로 사용할 수 있다. Object 클래스도 이 중 하나이다. Object 클래스는 모든 클래스의 최고 조상이므로 모든 클래스에서 Object 클래스의 메서드를 사용할 수 있다. 1. protected Object clone() 객체 자신의 복사본을 반환한다. 오버라이딩 할 때 public으로 접근 제어자를 변경해야 상속하는 자손 뿐만 아니라 후손까지도 사용할 수 있다. 2. public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class 타입의 인스턴스를 반환한다. Hello.java 파일을 컴파일하면 Hello.class 파일이 만들어지는데 이때 메모리에 Hello의 Class 타입 인스턴스가 .. 더보기 Chpt 8. 예외 - 주제 3. 연결된 예외 예외 A가 예외 B를 발생시켰다면 예외 A는 예외 B의 원인 예외다. 1. 예외 연결 방법 예외를 연결하는 방법에는 두 가지가 있다. 1) Throwable 클래스의 initCause 메서드 사용 다음 상속 계층도를 참고하면 모든 Exception의 최고 조상은 Throwable이기 때문에 Throwable 클래스의 initCause 메서드 사용하면 예외를 연결할 수 있다. [예 1] try { startInstall(); copyFiles(); } catch (SpaceException se) InstallException ie = new InstallException("설치 중 예외 발생"); ie.initCause(se); throw ie; } catch (MemoryException me { .... 더보기 Chpt 8. 예외 - 주제 2. 예외의 처리 1. 인위적 예외 발생 프로그래머가 고의로 예외를 발생시킬 때는 다음과 같이 한다. 참고로 모든 예외 발생은 인스턴스를 생성한다. throw new Exception("의도적으로 발생시킨 예외"); 2. 예외 처리의 정의와 목적 예외 처리 정의: 예외 발생에 대비한 코드 작성 예외 처리 목적: 프로그램의 비정상적 종료 방지 3. 예외 처리 방법 예외를 처리하는 네 가지 방법이 존재한다. 1) try-catch문 (직접 처리) try 블럭에서 예외가 발생 (예외 인스턴스 생성) (1) 하지 않을 경우, try 블럭만 실행된다. (2) 할 경우, 곧바로 catch 블럭 그룹으로 넘어간다. (2-1) 생성된 예외 클래스의 인스턴스 instanceof 괄호 안 예외 타입이 (2-1-1) true면 해당 블럭 안.. 더보기 이전 1 2 3 4 5 다음