후발대수업_15. Iterator, 퀴즈, 익명클래스 Iterator : 프로그래밍에서 이터레이터는 개발자가 컨테이너, 특히 리스트를 순회할 수 있게 해주는 객체다. 이터레이터는 데이터베이스 커서와 동작이 유사하다. 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부요소를 순회하는 객체 배열이나, 셋, 맵을 순회하고 불필요한 데이터를 바로 삭제 할 수 있다. 익명클래스는 내부클래스 (Inner Class) 일종으로 단어 그대로 이름이 없는 클래스를 말한다. 익명 클래스는 클래스 정의와 동시에 객체를 생성할 수 있다. 따로 클래스 정의 없이 메소드 내에서 바로 클래스를 생성해 인스턴스화 할 수 있으며 이렇게 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용 될 수 있고, 익명으..
LinkedList (2) public class _05_LinkedList { public static void main(String[] args) { // 링크드 리스트 // 여러명이 앉을 의자가 있다고 가정한 설명 /* 먼저 어레이리스트는, 여러명이 앉을 의자가 연달아 있으면, 중간에 누가 앉으려고 한다면 그 사람의 위치로부터 그 사람 뒤에 있는 사람들이 모두 일어나서 한 칸씩 이동해야 하는 번거로움이 있다. 링크드 리스트는 의자 없이 사람들이 나란히 손을 잡고 있는 상황이다. 중간에 한 명이 2-3번 사이로 들어간다고 하면, 잡았던 손을 놓고, 그 사이에 들어가고 나서 기존에 2-3번에 있는 사람과 손을 잡으면서 쉽게 여러 사람들 사이로 들어갈 수 있다. 그냥 손을 놨다가 새로 들어온 사람과 손을..
LinkedList(2), HashSet, HashMap, Iterator(1) 컬렉션 프레임워크라고 함은 많은 데이터를 효과적으로 쉽고 편리하게 관리하기 위해서 자바에서 제공해주는 어떤 클래스들의 모음 컬렉션 프레임 워크에서는 데이터를 저장하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있음 List 인터페이스 Set 인터페이스 Map 인터페이스 Iterator 데이터 처리하는 방법과 문법에 대해 바로 익힌다. LinkedList(2) import java.util.LinkedList; public class _05_LinkedList { public static void main(String[] args) { // 링크드 리스트 LinkedList list = new LinkedList(..
Generics(2) public class _02_GenericsClass { public static void main(String[] args) { // 다양한 형태의 메서드들을 받아서 하나로 처리하는 걸로 구현을 앞에서 했었지 // 커피 실습할거야.(커피 패키지 생성) // 5개 실습 중에 먼저 주문 번호로 알려주는 CoffeeByNumber부터 생성 CoffeeByNumber12 c1 = new CoffeeByNumber12(33); // 대기번호 c1.ready(); //커피 준비 완료 : 33 출력 // 이제 닉네임으로 불러드리는 고객님이 오셨다고 하자... // CoffeeByNumber12에서는 int로 받았으니까, 닉네임으로 받는 걸 만들어줘야지, 클래스 생성하자. 2. CoffeeBy..
Generics 2 Generics (제네릭스, 타입이 여러개일때), WrapperClass, 컬렉션 프레임 워크 中 ArrayList , LinkedList 컬렉션 프레임워크라고 함은 많은 데이터를 효과적으로 쉽고 편리하게 관리하기 위해서 자바에서 제공해주는 어떤 클래스들의 모음 컬렉션 프레임 워크에서는 데이터를 저장하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있음 List 인터페이스 Set 인터페이스 Map 인터페이스 1에서도 ArrayList 와 LinkedList가 있음 Generics 추가 import com.sparta.hbd04.prac01.prac12.coffee.*; import com.sparta.hbd04.prac01.prac12.user.User; import com..

일단 파일 모양 커밋 내용 코드 Generics _Generics_01 package Prac12; public class _01_Generics { public static void main(String[] args) { // 제네릭스 // 다양한 타입의 객체를 지원하는 클래스나 인터페이스 또는 메서드를 정의하는 방법 // 앞을 대문자로 수정할거야 Integer[] iArray = {1,2,3,4,5}; Double[] dArray = {1.0, 2.0, 3.0, 4.0, 5.0}; String[] sArray = {"Aa", "Bb", "Cc", "Dd", "Ee"}; printIntArray(iArray); // 아직 메서드를 만들지 않았기 때문에 빨간줄 printDoubleArray(dArray)..
Generics (제네릭스) 다양한 타입의 객체를 지향하는 클래스나 인터페이스,또는 메서드를 정의하는 방법 똑같은 동작을 여러번 만들필요없이 딱 한번만 정의하고나서 여러타입에 대해서 지원을 해주도록 하는 것 _01Generics public class _01_Generics { public static void main(String[] args) { // 제네릭스 // 정수형 배열 Integer[] iArray = {1,2,3,4,5}; Double[] dArray = {1.0, 2.0, 3.0, 4.0, 5.0}; String[] sArray = {"A", "B", "C", "D", "E"}; printIntArray(iArray); printDoubleArray(dArray); printStringA..
택시 미터기 요금 바꾸기 Meter package Prac11; public interface Meter11 { // public int BASE_FARE = 3000; // 기본요금(인터페이스에 정의한 변수는 상수라서 변경할 수 없다.) // 이걸 한 번 바꿔보고 싶어요! // 어떻게? 여기서는 지워주시고, 택시 클래스에서 멤버 변수로 선언해주시면 됩니다. public abstract void start(); public abstract int stop(int distance); } Taxi package Prac11; public class Taxi11 implements Meter11 { //Meter10 인터페이스의 start와 stop 메서드를 구현해야 한다. public int BASE_FAR..