본문 바로가기

분류 전체보기474

List 인터페이스 순차적으로 자료를 관리하는 List 인터페이스를 구현한 클래스와 그 활용 멤버십 관리하기 Member 클래스를 만들고, 아이디와 이름을 멤버 변수로 선언 Member 클래스로 생성된 인스턴스들을 관리하는 클래스를 컬렉션 프레임워크 클래스들을 활용하여 구현한다. ArrayList 활용하기 멤버를 순차적으로 관리함 package ch47; public class Member { private int memberId; //회원 아이디 private String memberName; //회원 이름 public Member(int memberId, String memberName){ //생성자 this.memberId = memberId; this.memberName = memberName; } public in.. 2021. 5. 2.
자바에서 제공되는 자료구조 구현 클래스들 - 컬렉션 프레임워크 컬렉션 프레임워크 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 java.util 패키지에 구현되어 있음 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있음 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요함 참고 사이트: coding-factory.tistory.com/550 [Java] 자바 컬렉션 프레임워크(List, Set, Map) 총정리 컬렉션 프레임워크란? 배열을 사용하다 보면 여러가지 비효율적인 문제가 생깁니다. 가장 큰 문제점은 크기가 고정적이라는 것입니다. 배열의 크기는 생성할 때 결정되며 그 크기를 넘어가게 coding-factory.tistory.com Collection 인터페이스 하나의 객체를 관리하기 위한.. 2021. 5. 2.
제네릭 메서드 제네릭 메서드 자료형 매개변수를 메서드의 매게변수나 반환 값으로 가지는 메서드는 자료형 매개 변수가 하나 이상인 경우도 있음 제네릭 클래스가 아니어도 내부에 메서드는 구현하여 사용 할 수 있음 public 반환형 메서드 이름 (자료형 매개변수 .....) { } 제네릭 메서드의 활용 예 두 점(top, bottom)을 기준으로 사각형을 만들 때 사각형의 너비를 구하는 메서드를 만들어 보자 두 점은 정수인 경우도 있고, 실수인 경우도 있으므로 제네릭 타입을 사용하여 구현한다. package ch46; public class Point { private T x; private V y; public Point(T x, V y) { this.x =x; this.y =y; } public T getX() { re.. 2021. 5. 2.
제네릭 <T extends 클래스> 사용 제한 상위 클래스의 필요성 T 자료형의 범위를 제한 할 수 있음 상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있음 상속을 받지 않는 경우 T는 Object로 변환되어 Object 클래스가 기본으로 제공하는 메서드만 사용가능 T extends를 사용한 프로그래밍 GenericPrinter에 material 변수의 자료형을 상속받아 구현 T에 무작위 클래스가 들어갈 수 없게 Material 클래스를 상속받은 클래스로 한정 package ch45; // 직접 사용하지 않기 때문에 추상클래스로 선언 public abstract class Material { public abstract void doPrinting(); } package ch45; public class Plastic extends Mate.. 2021. 5. 2.
제네릭(Generic) 제네릭 자료형 정의 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 지정 할 수 있도록 선언 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식 컬렉션 프레임워크에서 많이 사용되고 있음 제네릭 타입을 사용하지 않는 경우의 예 3D 프린터 예제 package ch44; public class GenericPrinter { private T material; public void setMaterial(T material) { this.material = material; } public T getMaterial() { return material; } public String toStri.. 2021. 5. 2.
큐(Queue) 큐 특징 맨 앞(front)에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함 First In First Out (선입선출) 구조 일상 생활에서 일렬로 줄 서 있는 모양 순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용 되는 자료 구조 콜센터에 들어온 문의 전화, 메세지 큐 등에 활용됨 JDK 클래스: ArrayList 연결 리스트를 이용한 예제 package ch40; public class MyListNode { private String data; // 자료 public MyListNode next; // 다음 노드를 가리키는 링크 public MyListNode(){ data = null; next = null; } public MyListNode(String data){ .. 2021. 5. 2.