본문 바로가기

개발/Java

(28)
[Java 26] 자바 - 컬렉션 프레임워크(2) 학습목표 Stack과 Queue에 대해 이해한다. 1. 후입선출(LIFO: Last In First Out)과 선입선출(FIFO : First In First Out) 컬렉션 STACK과 QUEUE 모두 배열의 빈공간이 없게 데이터를 저장하기 위한 자료구조입니다. 1-1. 기본 용어 구분 입력 삭제 stack push( ) pop( ) queue put( ) get( ) Overflow Underflow 1-2. Stack 기본 생성자 Stack stack = new Stack(); 주요 메소드 리턴타입 메소드 설명 E puch(E item) 주어진 객체를 스택에 넣는다 E peek() 스택의 맨 위 객체를 가져온다. 객체를 스택에서 제거하지 않는다 E pop() 스택의 맨 위 객체를 가져온다. 객체를 ..
[Java 25] 자바 - 컬렉션 프레임워크 (1) 학습목표 컬렉션 프레임워크의 기본적인 개념을 이해한다. List, Set, Map의 사용법을 알고있다. 1. 컬렉션 프레임워크 소개 Collections Framework Class diagram 출처: 생활코딩 자료구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았습니다. 이를 총칭해 컬렉션 프레임워크라고 합니다. |---------|-------|--------| | | 특징 | 구현 클래스 | | collection | List | - 순서를 유지하고 저장 - 중복 저장가능 | ArrayList, Vetor, LinkedList | | collection | Set | - 순서를 유지하지 앟고 저장 - ..
[Java 24] 자바 - 제네릭 학습목표 콜렉션 프레임워크 학습 전, 제네릭을 정확히 이해한다. 1. 제네릭 타입 (class, interface) 제네릭 타입은 타입을 파라미터로 가지는 클래스와 인터페이스를 말합니다. public class 클래스명 {...} public interface 인터페이스명 {...} 예제 1 [Box] 클래스 public class Box { private Object object; //필드에 모든 종류의 객체를 저장하기 위해 Object타입 선언 public void set(Object object) { this.obbject = object; } public Object get() { return object; } } [Apple] 클래스 public class Apple { } [BoxExample..
[Java 23] 자바 - 기본 API 클래스 학습목표 자주 사용되는 API의 사용법을 이해한다. 1. 자바 API 도큐먼트 API는 라이브러리라고 부르기도 하는데, 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말합니다. API 도큐먼트는 쉽게 API를 찾아 이용할 수 있도록 문서화 한것으로 다음 URL에 접속해 볼 수 있습니다. 자바 API 도큐먼트 사이드 : https://docs.oracle.com/javase/8/docs/api/ [ Java Platform SE 8 docs.oracle.com ](https://docs.oracle.com/javase/8/docs/api/index.html) 해당 사이트에 접속하면 다음과 같은 화면이 보일 것입니다. 3개의 프레임으로 구성되고 각각 '패키지 전체 목록' '패키지에 속하는 클래..
[Java 22] 자바 - 예외 처리 학습목표 실행예외의 대표적인 경우를 살펴본다. 예외 처리방법에 대해 정확히 이해하고 활용한다. 1. 예외와 예외 클래스 예외에는 두가지 종류가 있습니다. 하나는 일반 예외(Exception)이고, 다른 하나는 실행 예외(Runtime Exception)입니다. 일반 예외와 실행 예외 클래스를 구분하는 방법은 일반 예외는 Exception을 상속받지만, Runtime Exception을 상속받지 않는 클래스들이고, 실행 예외는 RuntimeExcaeption을 상속받는 클래스입니다. 2. 실행 예외 실행예외는 자바 컴파일러가 체크를 하지 않기 때문에 오로지 개발자의 경험에 의해서 예외 처리 코드를 삽입해야 합니다. 2-1. NullPointExcaeption 이는 객체 참조가 없는 상태, 즉 null 값을..
[Java 21] 자바 - 인터페이스(2) 학습목표 인터페이스의 타입 변환과 다형성을 정확히 이해한다. 인터페이스 상속에 대해 이해한다. 1. 타입 변환과 다형성 프로그램을 개발할 때 인터페이스를 사용해서 메소드를 호출하도록 코딩을 했다면, 구현 객체를 교체하는 것은 매우 손쉽고 빠르게 할 수 있습니다. 프로그램 소스 코드는 변함이 없는데, 구현 객체를 교체함으로써 프로그램의 실행 결가가 다양해질 수 있습니다. 이것이 인터페이스의 다형성입니다. 2. 자동 타입 변환(Promotion) 구현 객체가 인터페이스 타입으로 변환되는 것을 자동 타입 변환이라고 합니다. 인터페이스 구현 클래스를 상속해서 자식 클래스를 만들었다면 자식 객체 역시 인터페이스 타입으로 자동 타입 변환이 가능합니다. 자동 타입 변환을 이용하면 필드의 다형성과 매개 변수의 다형성을..
[Java 20] 자바 - 인터페이스(1) 학습목표 인터페이스의 역할과 추상 클래스와의 차이점을 이해한다. 인터페이스 선언과 구현방법을 정확히 이해한다. 인터페이스 사용 방법을 이해한다. 1. 인터페이스 역할 인터페이스(Interface)는 객체의 사용 방법을 정의한 타입입니다. 인터페이스는 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 합니다. 인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 합니다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킵니다. 인터페이스를 사용함으로써 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있습니다. 마치 규격만 맞으면 다른 부품으로 바꿀 수 있는 것처럼 쉽게 변경이 가능합니다. 위의 그림과 같이 인터페이스는 하나의 객체가 아니라 여러 ..
[Java 19] 자바 - 추상 클래스 학습목표 추상 클래스의 의미와 용도를 알고 있다. 추상 클래스의 선언과 오버라이딩을 이해하고 있다. 1. 추상 클래스 추상(abstract)은 실체 간에 공통되는 특성을 추출한 것을 의미합니다. 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상 클래스라고 합니다. abstract 클래스나 메소드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제하는 것이 바로 abstract입니다. 추상 클래스는 실체 클래스의 공통되는 필드와 메소드를 추출해서 만들었기 때문에 객체를 직접 생성해서 사용할 수 없습니다. 즉, 추상 클래스는 new 연산자를 사용해서 인스턴스를 생성시키지 못한다는 것입니다. Animal animal = new Animal()..