코드스테이츠_국비교육 158

16.10_컬렉션 프레임워크[Map]_22.09.13

Map >의미 및 특징 : Key 객체와 Value 객체로 구성된 객체(Entry 객체)를 저장하는 자료 구조 //Entry 객체 = Key 객체 + Value 객체 //Key와 Value는 기본 타입일 수 없다. : Key 객체는 고유한 값을 가지며, 중복 저장이 불가능하다. : Key 객체는 Entry 객체를 구분하는 기준이다. : Key 값으로 객체를 관리하기 때문에 메서드에 Key를 매개 값으로 하는 것이 많다. : 동일한 Key 값에 다른 Value를 저장하면, 해당 Key에 새로운 Value 값이 저장된다. : Map 인터페이스를 구현한 클래스로는 HashMap, Hashtable, TreeMap, SortedMap 등이 있다. HashMap >문법 구조 HashMap 참조 변수명 = new ..

16.09_컬렉션 프레임워크[Set<E>]_22.09.13

Set >의미 및 특징 : 집합을 의미함 : 요소의 중복을 허용하지 않고, 저장 순서를 유지하지 않는 인터페이스 : HashSet, TreeSet HashSet >HashSet의 문법 구조 HashSet 참조변수명= new HashSet(); //1 HashSet 참조변수명= new HashSet(int initialCapacity); //2 HashSet 참조변수명= new HashSet(int intitialCapacity, float loadFactor); //3 HashSet 참조변수명= new HashSet(Collection c); //4 //1: 기본 생성자 //2: 초기 용량을 지정하여 생성 //3: 초기 용량과 loadFactor를 지정하여 생성 //4: 컬렉션을 HashSet으로 변환 ..

16.08_컬렉션 프레임워크[List<E>]_22.09.13

List >의미 : Collection를 상속받는 인터페이스 : 객체용 배열같은 기능 : 배열처럼 객체를 일렬로 늘어놓은 구조를 취함. : 저장된 객체에 자동으로 인덱스가 부여되며, 해당 인덱스로 컬렉션을 검색, 추가, 삭제 등을 할 수 있음. >List 인터페이스를 구현한 클래스 : ArrayList, Vector, LinkedList, Stack 등 ArrayList >ArrayList 생성 ArrayList 참조변수명 = new ArrayList(); //1 ArrayList 참조변수명 = new ArrayList(int initialCapacity); //2 ArrayList 참조변수명 = new ArrayList(Collection c); //3 //1: E 타입의 ArrayList에 생성. 배..

16.07_컬렉션 프레임워크[개요]_22.09.13

학습키워드 컬렉션 프레임워크 주요 인터페이스와 컬렉션 클래스의 핵심 메서드 자료 구조 >의미 : 데이터가 저장되고 관리되는 구조 : 데이터의 추가, 검색 ,삭제가 가능해야함. >예시 : stack(프링글스통), Queue(선입선출), tree(트리형 연결 구조) 등 컬렉션 프레임워크 >컬렉션 의미 : 여러 데이터들의 집합 >컬렉션 프레임워크 의미 : 컬렉션을 편리하기 다루기 위해 미리 메서드를 정의해놓은 것 : 자주 사용되는 자료 구조들을 편리하게 사용할 수 있게 미리 구현해 둔 것. >주요 인터페이스 (3종) List : 데이터의 순서가 유지되는 컬렉션을 구현함. : 데이터 중복 저장 가능 : ArrayList, Vector, Stack, LinkedList 등 Set : 데이터의 순서가 유지되지 않는..

16.06_예외 처리_22.09.13

학습 키워드 예외 처리 컴파일 에러와 런타임 에러 자바 예외 클래스의 상속 계층도 try-catch 문과 예외 전가 throws 키워드와 throw 키워드 오류 >오류의 요인 외부적인 요인 : 하드웨어 문제 : 네트워크 연결 끊김 등 내부적인 요인 : 개발자의 코드 작성 에러 : 컴파일 에러, 런타임 에러 등이 존재 >컴파일 에러, Compile Time Error : 컴파일 할 때 발생하는 에러 : syntax error 라고도 함. 주된 원인이 문법적인 문제이기 때문. : 세미콜론 생략, 오탈자, 잘못된 자료형 등 문법적인 문제로 인해 발생하며, 자바 컴파일러가 에러를 발견함. : IDE가 코드를 작성하는 순간에 친절히 알려줌 >런타임 에러, Run Time Error : 프로그램이 실행될 때 발생하..

16.05_열거형_22.09.13

학습 키워드 Enum의 기본적인 개념 Enum이 등장하게 된 배경, 장점 Enum의 문법 요소 Enum; enumerated type >의미 : 여러 상수(final)들을 편리하게 선언하기 위한 자바의 문법요소 >Enum의 탄생 배경 1. 상수명의 중복을 방지하기 위한 노력 : 많은 상수를 정의하다 보면 이름이 중복되는 경우가 발생할 수 있음. : 중복 문제를 해결하기 위해 Enum(열거형)이 탄생함. : 이런 경우 중복되는 상수들을 다른 인터페이스에 넣음으로써 극복할 수 있음. //타입 안정성 문제 해결 불가 //중복 에러 예시. //상수에 할당된 정수는 상수를 구분하여 쓰기 위함. public static final int A = 1; public static final int B = 2; publi..

16.03_제네릭 메서드_22.09.13

학습키워드 제네릭 제네릭 클래스 제네릭 메서드 Wrapper 클래스 제네릭 메서드 >의미 : 제네릭으로 선언한 메서드 : 클래스 전체가 아닌 특정 메서드만 제네릭 선언을 할 수 있다. >제네릭 메서드 정의 : 제네릭 메서드의 타입 매개변수는 반환타입 앞에 선언한다. class Main { ... public void sleep(T element){ ... } } >제네릭 메서드의 특징 및 장점 : static 메서드에서도 선언 가능하다. : 제네릭 메서드의 타입은 메서드를 호출할 때 지정된다. : 타입 지정을 생략할 수 있다. (컴파일러가 자동으로 인자의 자료형으로 타입을 지정함) : 제네릭 메서드의 내용에는 Object 클래스의 메서드만 사용할 수 있다. //어떤 타입이 지정될 지 모르기 때문이다. 하..

16.02_제네릭 클래스_22.09.13

학습키워드 제네릭 제네릭 클래스 제네릭 메서드 Wrapper 클래스 제네릭 >의미 : 타입을 구체적으로 지정하지 않고, 추후에 지정할 수 있도록 '일반화'해두는 것. >특징 및 장점 : 작성한 클래스, 메서드가 특정 데이터 타입에 얽매이지 않게 설정할 수 있음. : 유연한 코드. 즉, 확장성이 넓어짐. 제네릭 클래스 >의미 및 특징 : 제네릭이 사용된 클래스 : 제네릭 클래스도 상속 및 다형성을 적용할 수 있다. : 인스턴스 생성 시, 원하는 타입을 인자로 줄 수 있다. >제네릭 클래스 문법 구조 public class Main { public static void main(String[] args) { //타입 인자: String, T = String Basket basket1 = new Basket(..

16.01_Wrapper 클래스_22.09.13

학습키워드 제네릭 제네릭 클래스 제네릭 메서드 Wrapper 클래스 Wrapper 클래스 >의미 : 기본 자료형으로 할당된 데이터 값을 객체화 시키기 위한 용도의 클래스 : 인스턴스로 감싼다고 표현 >사용 목적 및 특징 : 인스턴스의 참조 값을 매개 변수로 하는 클래스에 기본 자료형을 인자로 전달할 수 있음. : 생성자를 통해 값을 한 번 주면 값을 바꿀 수 없는 immutable 인스턴스이다. : 값을 바꾸기 위해서는 Boxing, Unboxing이라는 절차를 거쳐야한다. (private상황의 getter, setter 느낌이랑 좀 비슷) >Wrapper 클래스의 종류 : 각각의 기본 자료형의 풀네임이 곧 Wrapper 클래스들 이다. : Integer, Double, Boolean, Character..

15_추석 전 날_22.09.08

보이는 라디오 기대하지 않았는데 생각보다 동기부여가 되고 힘이 됐다. 그리고 나만 그런지 모르겠는데 크루분들끼리 장난치고 티키타카하는 거 보면 뭔가 코드스테이츠에 더 신뢰가 간다ㅋㅋ 오후 페어 오후 시간에 심화 학습에 대한 페어를 진행했다. 실수였다... 나는 그냥 간단하게 파트만 나누는 페어가 되겠거니 했다. 생각이 너무 짧았다. 깃허브로 공유하는 것부터 문제가 발생했고, 이런 저런 생각치 못한 문제가 머리가 점점 하얘졌다. 결국 한 5시간 넘게 페어를 진행했다. 나 때문에 너무 고생했을 페어에게 심심한 사과를 올린다... 다음에 이같은 자체 페어 프로그래밍을 하고 싶을땐 더 계획을 철저히 해야겠다.