본문 바로가기
반응형

전체 글256

chap_09.LinkedList 컬렉션 프레임워크 : 많은 데이터를 쉽고 편리하게, 효과적으로 관리하기 위해서 자바에서 제공해주는 클래스들의 모음. List에는 크게 ArrayList와 LinkedList가 있다. ArrayList : 여러명이 앉을 수 있는 의자에서 중간에 한명이 앉으려고 하면 그사람 위치로부터 뒤에있는 모든 사람들이 한칸 씩 이동하는방식. LinkedList : 의자 없이 사람들이 손을잡고 줄지어 있는 방식. 중간에 한명이 추가되면 새로운 사람이 들어가 손을 잡으면 연결되는 방식. LinkedList와 ArrayList의 사용방법은 거의 동일하다. list.add("값"); 을 실행하면 LinkedList에 데이터를 추가한다. list.get(인덱스); 을 실행하면 LinkedList에 데이터를 조회해온다. list.. 2023. 6. 29.
chap_09. ArrayList 컬렉션 프레임워크 : 많은 데이터를 쉽고 편리하게, 효과적으로 관리하기 위해서 자바에서 제공해주는 클래스들의 모음. 일반적으로 배열은 위와 같이 선언할 수 있다. 그런데 위와 같이 배열을 생성하고 추가로 데이터를 더 생성하고 싶은 경우에는 어떻게 해야할까? 배열은 데이터의 크기가 고정되어있기 때문에, 새로운 배열을 만들고 기존 데이터를 복사하는 작업이 필요하다. 그런데 컬렉션 프레임워크를 이용하게되면 배열과는 다르게 원하는만큼 데이터를 추가, 삭제, 탐색, 정렬 등의 기능을 활용 할 수 있다. 컬렉션 프레임워크는 주로 List, Set, Map 유형이 있는데 그중에서도 List 유형에 대해 학습해보자. 데이터를 받는 list를 ArrayList로 생성하였다. list.add("값"); 을 실행하면 Arr.. 2023. 6. 28.
chap_09. Wrapper 클래스 Wrapper 클래스의 기능 : int, double, float, char 같은 기본자료형을 객체형태로 만들어서 사용할 수 있도록 해주는 역할 int 자료형의 Wrapper 클래스 -> Integer double -> Double, float -> Float, char -> Character 2023. 6. 28.
chap_09. 제네릭 클래스 여러 자료형을 받아서 한번에 처리하는 메소드를 제네릭스를 통해 생성해보았다. https://nossodia.tistory.com/234 chap_09. 제네릭스 제네릭스는 다양한 타입의 객체를 지원하는 클래스, 인터페이스, 메소드를 정의하는 방법으로 똑같은 동작을 하는 클래스, 메소드를 여러번 만들 필요없이 한번만 정의하면 여러 타입에서 지원 nossodia.tistory.com 이번 시간에는 예제를 통해 제네릭스 클래스에 대하여 학습해보자. 만약, 특정 카페에서 주문이 완료되면 주문번호 또는 닉네임을 불러 안내해주는 로직을 코드로 작성한다고 생각해보자. 우선 주문완료 시 안내하는 코드를 분류해놓을 coffee 패키지를 생성하였다. 1. 주문번호로 안내하는 경우 coffee 패키지 내 CoffeeByNu.. 2023. 6. 21.
chap_09. 제네릭스 제네릭스는 다양한 타입의 객체를 지원하는 클래스, 인터페이스, 메소드를 정의하는 방법으로 똑같은 동작을 하는 클래스, 메소드를 여러번 만들 필요없이 한번만 정의하면 여러 타입에서 지원할 수 있도록 한다. 아래 예제를 통해 이해해보자. 각 자료형 int, double, String의 배열을 생성하고 해당 데이터를 순차적으로 출력하는 메소드를 생성하였다. 위의 printIntArray, printDoubleArray, printStringArray 메소드를 확인하면 자료형만 다르고 똑같은 코드가 반복되는 것을 볼 수 있다. 만약 위 자료형 외에 또 다른 자료형(long, float..)이 추가된다면 메소드도 추가해야할 것이다. 이런 경우에 제네릭스를 활용해볼 수 있다. private static void p.. 2023. 6. 21.
Chap_08.인터페이스(Interface) 앞서 배운 추상클래스는 완성되지 않은 클래스였다고 한다면, 인터페이스는 뼈대만 제공하는 구조이다. 상속(extends) : 부모를 하나만 가질 수 있는 단일 상속만 가능한 특징이 있다. 추상클래스 시간에 생성한 FactoryCam과 SpeedCam 클래스에 아래 메소드를 추가한다고 생각해보자. 1) detect() : 화재 or 사고 감지 기능 2) report() : 화재 or 사고 신고 기능 이처럼 각 클래스 별로 겹치는 메소드를 선언하게 되면 관리가 어려워진다. 이를 인터페이스를 통해 코드의 중복을 줄이고 개선된 구조로 만들 수 있다. 인터페이스는 [인터페이스를 생성할 패키지명] 마우스 우클릭 -[new]-[JavaClass]-[Int 위와 같이 Reportable 이라는 인터페이스를 생성하고 re.. 2023. 5. 10.
반응형