4. 라이브러리 활용 (6) 제네릭, 어노테이션
1. 제너릭(Generic) 개념1, 개념2, 개념3, 개념4 1) 제너릭이란? - 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 (변수 타입을 '구현할 때 결정'하는 것이 아니라 클래스 외부에서 '실행할 때' 동적으로 결정한다) - 변수 타입을 동적으로 사용하기 위해 선언 되는 , 를 타입 파라미터라고 한다 - '자바5'부터 도입되었으며, C++의 템플릿 클래스와 유사한 개념이다. (장점 : 타입 안정성, 간결해지는 코드) 2) 선언 및 사용법 예제1, 예제2 - 클래스 정의: 클래스 이름 - 변수 정의: T 변수 이름 - 제네릭이 정의된 클래스 생성: 클래스 이름 3) 조건 지정 개념1 - 특정 클래스를 상속하는 타입만 조건으로 지정: 클래스 이름 4) 와일드 카드 개념1, 개념2, 예..
4. 라이브러리 활용 (2) Collection API - List, Set, Map
1. 콜렉션(Collection) 개념1, 개념2, 개념3, 예제1, 예제2 1) 배열과 콜렉션은 다르다 : - 배열은 정해진 메모리 크기에 불가변한 데이터를 넣는다. 삭제와 추가가 불가능하다. - 컬렉션은 각 메모리에 주소가 있어서 주소를 이동하면서 데이터를 처리한다. - 가변하기 때문에 데이터의 삭제와 추가 및 변경이 가능하다. - 그래서 변하지 않는 데이터를 이용할때는 배열에 넣고, 가변하는 데이터는 컬렉션에 넣는다. 2) 콜렉션 프레임워크(Collection Framework) 개념1, 개념2, 개념3, 예제1, 응용 - 컬렉션들을 표현하고 조작하기 위한 통합 구조. 객체들은 자료 구조적 특성대로 알고리즘이 구현되어 바로 사용가능 - 특징 : 필요에 따라 확장가능하며, 객체만 포함한다.(프리미티브..
3. 언어특성활용 (3) 다형성, 내부클래스
1. 다형성 개념1, 개념2, 개념3, 예제1 1) 개념 : 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리 - 프로그램 언어 각 요소들(상수, 변수, 식, 객체, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질 - 참조변수의 타입을 자신 또는 상속받는 상위 타입으로 선언 2) 원리 - 다형성이 가능한 이유는 객체 생성시 실제 상속받는 객체가 메모리에 저장되기 때문 - Object 클래스 : 모든 JAVA의 루트클래스, 자바의 모든 참조변수는 object타입으로 선언가능 개념1, 개념2 - 인스턴스 생성 : 메모리에 만들어져 있음 개념1, 예제 3) 필요성 - 다형성을 적용하여 매개변수 타입을 선언한 메소드는 자신뿐아니라 모든 하위객체를 인자로 받..
3. 언어특성활용 (2) 상속, 추상화, 인터페이스
목표 : 상속과 추상, 인터페이스를 활용 및 차이 알아보기 1. 상속 개념1, 개념2(영상), 개념3, 예제1, 예제2 1) 개념 : 유지보수성을 높이기 위해 객체지향을 활용하는데, 클래스 중복을 피하기 위해 나온 개념 (중복내용은 별도 클래스에 정의한 후 사용함) - 기존 클래스의 변수와 메소드를 물려 받아 새로운 클래스에 사용하여 더 나은, 더 구체적인 클래스 구성 - 조건 : 공통멤버를 가지는 클래스들간의 공통점이 있는지 확인, 클래스간에 is a 개념이 성립하는 경우 상속가능 - extends : 다른 클래스에 상속할 때 사용 2) 활용 (1) 메소드 오버라이딩 : 부모로부터 상속받은 메소드의 내용을 재정의 하는 것 - 규칙 : 상속받은 메소드 바디만 변경 / 선언부는 변경 불가 / 접근 제어자는..