본문 바로가기

#024. Interface Iterator<E> 알아보기... #024. Interface Iterator 알아보기... 1. Iterator Interface 는 앞에서 배운 HashSet, ArrayList 등.. 의 collection 들의 데이터를 하나씩 꺼내거나, 데이터가 더이상 존재하는지 확인 하거나, 데이터를 삭제할 수 있는 기능을 구현하도록 되어 지시가 되어 있을 것이다. ( hasNext(), next(), remove() ) 2. 먼저 Java API 로 Interface Iterator 에 대해서 확인해보자. API 주소 : http://download.oracle.com/javase/6/docs/api/ (자주 사용하니, 즐겨찾기 추가를 하자!) 설명첫번째 이미지에서 왼쪽부터 위아래로 순서대로 누른다. HashSet 에는 iteratoer 로 ..
#023. Collection HashMap<K,V> 알아보기... #023. Collection HashMap 알아보기... 1. HashMap 의 특징은 이전 시간에서 알아 봤듯이, 순서가 없고, 키와 데이터를 한번에 저장하며, 키 값은 중복이 될 수 없다. 2. 테스트를 위해 util 패키지에 MapDemo class 를 만들어 아래의 코드를 작성해보자. 1) 먼저 HashMap 의 사용법을 익혀보자. 코드package util; import java.util.HashMap; public class MapDemo { public static void main(String[] args) { HashMap map = new HashMap(); map.put("tel", "010-1234-5678"); map.put("email", "ddonghyuk@nate.com")..
#022. Collection ArrayList<E> 알아보기... #022. Collection ArrayList 알아보기... 1. ArrayList 의 특징은 이전 시간에서 알아 봤듯이, 중복을 허용하며, 순서가 보장이 된다. Collection 중에서 가장 많이 사용을 한다. 특히, 가변 배열로 많이 사용을 한다. 역시 이번 시간에도 데이터가 어떻게 들어가는지 디버그 화면을 통해 알아보겠다. 2. 테스트를 위해 util 패키지에 ListDemo class 를 만들어 아래의 코드를 작성해보자. 1) 먼저 ListArray 의 사용법을 익혀보자. 코드package util; import java.util.ArrayList; public class ListDemo { public static void main(String[] args) { ArrayList names ..
#021. Collection HashSet<E> 알아보기... #021. Collection HashSet 알아보기... 1. HashSet 의 특징은 이전 시간에서 알아 봤듯이, 중복을 허용하지 않으며, 순서가 변경될 수 있다. 순서가 보장되지 않아 거의 사용을 하지는 않는다. 그래서 이번 시간엔, 데이터가 어떻게 들어가는지 디버그 화면을 통해 알아보겠다. 2. 테스트를 위해 util 패키지를 만들고, SetDemo class 를 만들어 아래의 코드를 작성해보자. 1) 먼저 HashSet 의 사용법을 익혀보자. 코드package util; import java.util.HashSet; public class SetDemo { public static void main(String[] args) { HashSet names = new HashSet(); names...
#020. Collection Set / List / Map 알아보자... #020. Collection Set / List / Map 알아보자... 1. Collection 의 특징을 알아보자. 1. Collection 의 객체는 같은 유형의 객체를 저장할 수 있는 자료구조다. 2. 이전 강좌에서 알아본 배열로 예를 들어보면, 배열의 크기를 한번 지정하면, 더 이상 크기를 변경할 수가 없다. 그에 반면, Collection 은 자료구조의 크기를 지정하지 않고 사용을 한다. 3. 기본 자료형인 int, char, double, boolean 등 .... 은 Collection 에 넣을 수 없기 때문에 이전강좌에서 알아본 wrapper class 로 변형해서 넣어야 한다. 위 2번과 같은 특징 때문에 프로그램 개발할 때 배열보다는 Collection을 많이 사용한다. 2. Con..
#019. final 예약어 알아보기... #019. final 예약어 알아보기... 1. final 이란 예약어가 붙으면, 우리는 더 이상 뭔가를 할 수 없다는 것을 기억하면 되겠다. 2. final 이 사용하는 위치에 따라서 의미가 달라진다. 그 의미는 아래와 같다. 1. public final class: class 에서의 final 의 의미는 "상속을 금지"한다. 2. public final void view() { }: method 에서의 final 의 의미는 "재정의 금지"한다. 3. public final int MAX_SIZE=32: 변수 에서의 final 의 의미는 "값 변경 금지"한다. 3. 뭐.. 확인해봤자 출력은 안되지만, 에러의 모습을 확인 해보자. 테스트를 위해 oop2 패키지에 Final class / FinalMeth..
#018. Interface (인터페이스) 알아보기... #018. Interface (인터페이스) 알아보기... 1. 인터페이스의 특징은 추상메서드 와 상수 만 가질 수 있다. 이전시간에 알아봤듯이 추상(abstract)메서드의 특징상 상속받는 자식은 꼭 같은 이름으로 오버라이딩을 사용해 구현을 해야 한다. (구현하지 않으면 컴파일이 안 된다.) 인터페이스끼리는 다중상속(extends)이 가능하며, 클래스에서 여러개의 인터페이스를 구현 (implements) 할 수 있다. 2. 이번 시간엔 interface 를 테스트 하기 위해 아래와 같은 작업을 할 것이다. 1. MP3를 듣기 위해서는 play(), stop() 기능이 필요하다. 2. IPod 의 클래스를 만들어 이곳 저곳에 사용을 하고 싶다. IPod에는 MP3 기능을 구현해야 한다. 3. MP3Play..
#017. abstract (추상화) 알아보기... #017. abstract (추상화) 알아보기... 1. 추상화란 상속받는 자식 클래스가 꼭! 구현해야 하는 메서드를 정의 하는 것이며, 자식클래스가 오버라이딩으로 메서드 재정의를 하지 않는다면 컴파일이 안된다. 오버라이딩으로 메서드를 재정의하지 않으면, 오버라이딩 특성상 컴파일이 안되기 때문에 자식 클래스의 메서드의 이름 과 사용방법의 통일이 될 것이다. 추상화 클래스는 new로 객체를 만들 수 없다. 2. 이번엔 abstract 를 테스트 하기 위해 아래와 같은 작업을 할 것이다. 부모 = Parent Class 를 Abstract (추상화)로 만든다. 추상화 메서드 who 를 만든다. 자식1 = Son Class 에 Parent 를 상속받고, who 메서드 재정의를 한다. 자식2 = Daughter..