컬렉션 프레임워크 프레임워크란? 프레임워크 : 잘 정의된, 약속된 구조와 골격 컬렉션이란? 데이터를 한 곳에 모아 편리하게 저장 및 관리하는 가변 크기의 객체 컨테이너 자바의 컬렉션 프레임워크 인스턴스의 저장과 참조를 위해 잘 정의된, 클래스들의 구조 자바의 컬렉션 프레임워크가 제공하는 기능의 영역 자료구조와 알고리즘 컬렉션 프레임워크 구조 컬렉션 프레임워크는 인터페이스와 클래스로 구성 인터페이스는 컬렉션에서 수행할 수 있는 각종 연산을 제네릭 타입으로 정의해 유사한 클래스에 일관성 있게 접근하게 함 클래스는 컬렉션 프레임워크 인터페이스를 구현한 클래스 java.util 패키지에 포함 (DelayQueue는 java.util.concurrent 패키지에 포함) Collection 인터페이스 Collect..
제네릭 프로그래밍(Generic Programming) 이란? 작성한 코드를 다양한 타입의 객체에 대해 재사용한다는 객체 지향 기법이다. 제네릭(Generic) : 클래스를 정의할 때 구체적인 타입을 적지 않고 변수 형태로 적어 놓는 것이다. 객체를 생성할 때 구체적인 타입을 기재한다. 제네릭 클래스 설계 선언 class 클래스이름 { // 메서드나 필드에 필요한 타입을 타입 매개변수로 나타낸다. 필드; 메서드; } 타입 매개변수는 객체를 생성할 때 구체적인 타입으로 대체한다. 아래는 그 예시! 전형적인 타입 매개변수 타입 매개변수 설명 E 원소 (Element) K 키 (Key) N 숫자 (Number) T 타입 (Type) V 값 (Value) 제네릭 객체 생성 제네릭의 제약 기초 타입을 제네릭 인수..
오류의 종류 에러 (Error) 개발자가 해결할 수 없는 치명적인 오류 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 에러가 발생되면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외 (Exception) 개발자가 해결할 수 있는 오류 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 예외가 발생되면 프로그램 종료 예외 처리 추가하면 정상 실행 상태로 돌아갈 수 있읃ㅁ 예외가 발생하면 비정상적인 종료를 막고, 프로그램을 계속 진행할 수 있도록 우회 경로를 제공하는 것이 바람직 예외의 종류 일반(컴파일 체크) 예외 예외 처리를 하지 않으면 컴파일 오류가 발생하므로 꼭 처리해야하는 검사형 예외 실행 예외 (RuntimeException) 개발자의 실수로 발생할 수 있으며, 예외 처리를 하지..
contents 1. 내부 클래스와 내부 인터페이스 2. 무명 클래스 3. 람다식 중첩 클래스와 중첩 인터페이스 중첩 클래스 클래스 멤버로 선언된 클래스 class ClassName{ class NestedClassName{ //중첩 클래스 } } 중첩 인터페이스 클래서 멤버로 선언된 인터페이스 그래픽 프로그래밍에서 이벤츠 처리할 때 자주 활용 class ClassName{ interface NestedInterfaceName{ //중첩 인터페이스 } } 중첩 클래스나 중첩 인터페이스의 특징 중첩 클래스(nested class)나 중첩 인터페이스(nested interface)는 외부로부터 스스로를 감추며, 외부 클래스와 밀접한 관계를 가짐. 중첩 클래스는 외부 클래스(outer class)의 priva..
Contents 1. 상속의 개념 2. 클래스 상속 (extends) 3. 메소드 재정의 (override) 4. 패키지 5. 자식 클래스와 부모 생성자 호출 6. 상속과 접근 제어 7. final 클래스와 final 메소드 8. 타입 변환과 다형성 상속의 개념 객체 지향 프로그램에서 상속이란.. 자식(하위, 파생) 클래스가 부모(상위) 클래스의 멤버를 물려받는 것 자식이 부모를 선택해 물려받음 상속 대상 : 부모의 필드와 메소드 상속의 효과 부모 클래스를 재사용해 자식 클래스를 빨리 개발 가능 반복된 코드 중복을 줄임 유지 보수 편리성 제공 객체 다형성 구현 가능 상속 대상 제한 부모 클래스의 private 접근 제한을 가지는 필드와 메소드 제외 부모 클래스가 다른 패키지에 있을 경우, default ..
1. 추상 클래스 (Abstract Class) 추상이란? - 실체들 간에 공통되는 특성을 추출한 것 - (예시) 새, 곤충, 물고기 -> 동물(추상) 추상 클래스 (abstract class) 개념 실체 클래스들의 공통되는 필드와 메소드를 정의한 클래스 추상 클래스는 실체 클래스의 부모 클래스 역할 new 연산자로 인스턴스 생성을 못한다!! 추상클래스 s = new 추상클래스(); //이렇게 못한다!!!!!!!!!!!!!! 추상 클래스 용도 상속 계층에서 자식 멤버의 이름을 통일하기 위하여 사용 실체 클래스 설계자가 여러 사람일 경우, 실체 클래스마다 필드와 메소드가 제각기 다른 이름을 가질 수 있음. 실체 클래스를 작성할 때 시간 절약 실체 클래스는 추가적인 필드와 메소드만 선언 실체 클래스 설계 규..