세상에 존재하는 모든 것을 뜻한다.프로그래밍에서는 속성과 기능을 가지는 프로그램 단위. 객체를 생성하기 위한 틀.모든 객체는 클래스로부터 생성된다.클래스는 속성(멤버 변수)와 기능(메서드)로 구성.
추상화 : 현실의 객체를 추상화해서 클래스를 구성한다.다형성 : 하나의 객체를 여러 가지 타입(형)으로 참조할 수 있다.상속 : 부모 클래스의 자산을 물려받아 자식을 정의함으로 코드의 재사용이 가능하다.데이터 은닉과 보호 : 데이터를 외부에 직접 노출시키지 않고 메서드

클래스, 변수, 메서드 선언부에 함께 사용되어 부가적인 의미 부여종류접근 제한자 : public, protected, (default=package), private그 외 제한자static : 클래스 레벨의 요소 설정final : 요소를 더이상 수정못하게 함abstra
하나의 객체가 많은 형(타입)을 가질 수 있는 성질상속 관계에 있을 때 조상 클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다.배열의 특징 - 같은 타입의 데이터를 묶음으로 다룬다.다형성으로 다른 타입의 데이터 (Person, SpiderMan)를 하나의 배열
변수의 타입을 다른 타입으로 변경하는 것.char<--> int기본형은 기본형끼리, 참조형은 참조형끼리 형 변환 가능boolean은 다른 기본 타입과 호환 X기본 타입과 참조형의 형 변환을 위해서는 Wrapper 클래스 사용묵시적 형 변환값의 크기, 타입의 크기가

타입에 따른 분류기본형 변수 : int, char, float, double, boolean, byte, long, short참조형 변수 : 나머지 모든 것 ex) String, int \[]points, Person p...선언 위치에 따른 분류선언 위치 : 클래스

메모리를 할당받아 실행 중인 프로그램을 프로세스라고 한다.스레드란 프로세스 내에서 실행되는 흐름의 단위라고 할 수 있다.2가지 방법직접 상속 받아 쓰레드 생성Runnable 인터페이스를 구현해서 생성Thread 클래스로부터 제공되는 run() 메소드를 오버라이딩 해서
자손 클래스에서 반드시 재정의해서 사용되기 때문에 조상의 구현이 무의미한 메서드메서드의 선언부만 남기고 구현부는 세미콜론으로 대체구현부가 없다는 의미로 abstract 키워드를 메서드 선언부에 추가객체를 생성할 수 없는 클래스이다.ex) abstract class XX
다양한 타입의 객체를 다루는 메서드, 컬렉션 클래스에서 컴파일 시에 타입 체크미리 사용할 타입을 명시하여 형 변환을 하지 않아도 되게 함객체의 타입에 대한 안전성 향상 및 형 변환의 번거로움 감소클래스 또는 인터페이스 선언 시 <>에 타입 파라미터 표시ex) pu
java.util 패키지다수의 데이터를 쉽게 처리하는 방법 제공 -> DB 처럼 CRUD 기능 중요!!collection framework의 핵심 interfaceList : 순서가 있는 데이터의 집합. 순서가 있으므로 데이터의 중복 가능 \- ArrayList, L
수학 : 변하는 수컴퓨터 : 값을 저장할 수 있는 메모리상의 공간 \- 변수의 공간보다 작거나 같은 크기의 자료만 저장 가능하다.한 번에 하나의 자료만 저장 가능필수 사항 \- 대소문자가 구분되며 길이의 제한은 없다.예약어는 사용못함숫자로 시작 못함특수문자는 \_와
정렬을 위한 함수(기능)함수적 프로그래밍의 형태로 재사용 가능한 코드 블록기존의 anonymous inner class르 이용한 처리 방식을 간결하게 처리기존의 형태Lambda 식 처리lambda 식이 할당되는 인터페이스를 Lambda 식의 타겟 타입이라고 함타겟 타입
I/O와 Stream I : input / O : Output 데이터는 한쪽에서 주고 한쪽에서 받는 구조 입출력의 끝단은 노드(Node) 두 노드를 연결하고 데이터를 전송할 수 있는 개념 : 스트림(Stream) 스트림은 단방향으로만 통신 가능 하나의
Markup Language태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어HTML, SGMLXML(Extensible Markup Language)HTML과 다르게 필요에 따라서 태그를 확장해서 사용 가능문서의 시작은 <?xml version="1.0"
Java Application에서 사용되는 GUI를 제공하는 추상적으로 정의된 도구 모음Container다른 컴포넌트들을 배치하기 위한 컴포넌트Container는 다른 Container를 포함할 수 있고 나중에 복합적인 Layout을 구성할 수 있게 한다.JFrame
java.util.Arrays 클래스의 asList() 메소드를 이용하여 List로 변환 가능Arrays.asList() 메소드는 고정길이의 원배열의 list view를 리턴즉, 고정길이의 원래 배열의 list view를 리턴하기 때문에 Arrays.asList()를

순서를 가진 데이터의 집합을 가리키는 추상자료형(abstract data type)동일한 데이터를 가지고 있어도 상관 없다(순서가 있기 때문)구현 방법에 따라 크게 두 가지로 나뉜다.1) 순차 리스트 : 배열을 기반으로 구현된 리스트2) 연결 리스트 : 메모리의 동적할
탐욕 알고리즘은 최적해를 구하는 데 사용되는 근시안적인 방법최적화 문제(optimization)란 가능한 해들 중에서 가장 좋은(최대 또는 최소) 해를 찾는 문제일반적으로, 머리 속에 떠오르는 생각을 검증없이 바로 구현하면 Greedy 접근이 된다.여러 경우 중 하나를
설계 전략분할(Divide) : 해결할 문제를 여러 개의 작은 부분으로 나눈다.정복(Conquer) : 나눈 작은 문제를 각각 해결한다.통합(Combine) : (필요하다면)해결된 해답을 모으기N2 = N x NN3 = N x N x N...Nn = N x N x N

모든 조합을 시도해서 문제의 해를 찾는다.해를 얻을 때 까지 모든 가능성을 시도한다.모든 가능성은 하나의 트리처럼 구성할 수 있으며, 가지 중에 해결책이 있다.여러 선택지들 중 하나의 가지를 선택한다.선택한 가지의 root 노드에서 leaf 노드 까지의 경로를 탐색하여