자바란 자바는 1995년 미국의 '썬마이크로시스템즈'라는 회사에서 개발한 객체지향 언어이다. 객체지향언어란? 객체지향 프로그래밍(OOP, Object Oriented Programming)이란 프로그램을 개발하는 기법으로 객체(부품)을 만들고, 이를 조립하여 전체 프
일명 “자바 가상 머신”자바와 운영체제 사이에서 중계자 역활GC(Gavage Collactor를 사용한 메모리 관리 자동 수행)클래스 로더(Class Loader)실행 엔진(Execution Engine) \- 인터프리터(interpreter)JIT 컴파일러(Just
.java 소스 파일 생성자동 컴파일.class 바이트 코드 파일 생성실행JVM은 메모리 할당메서드 영역에 클래스 로딩main() 메서드 실행패키지는 비슷한 성격의 자바 클래스들을 모아 놓은 자바 디렉토리이다, 실무에서는 패키지 이름을 도메인 이름으로 사용한다고 한다.
자료형 : 저장되는 데이터의 종류에 따른 형태 자료형 선언 방법 자료형 변수명; 자료형은 사용되기 전 정의가 되어야 한다. 자로형은 한번만 정의 되어야 한다. 변수 -데이터를 저장하고 메모리에 저장된 데이터를 식별하기 위해 부여한 이름 자료형과 변수명의 사용
특정한 작업을 하기 위해서 사용하는 기호산술에 필요한 연산자,\* ,/ ,%자바에서는 '=' 와 '=='의 의미가 다르다.'='의 의미는 우측항을 좌측항으로 대입한다는 의미이다.'=='의 의미는 스택메모리값을 비교한다 라는 의미이다.스택메모리값을 비교시에는 기본연산자와
제어문과 제어키워드를 이용해 프로그램의 처리순서를 바꾸는 것조건을 걸어 여러개의 선택지 중 하나의 선택지를 선택하거나,조건을 걸어 작업을 반복을 시키는 작업제어문은 {}안에서 작성된다.제어문안 실행문이 1개일시, {}를 생략할 수 있으나, 그냥 쓰자조건식에 따라 실행문
배열은 동일한 자료형을 묶어 저장하는 참조 자료형이다.생성할 때 크기를 지정해야하며, 지정한 크기는 변경되지 않는다.배열의 Index는 0부터 시작한다.힙메모리는 모든 공간에 값이 들어가 있어야 하므로 초기화를 하지 않았을 때 자바 가상 머신에서 강제 초기화를 한다.b
참조 자료형의 대표적인 형태는 클래스이다.클래스란? 자바에서 클래스(class)란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다.객체 안의 값을 변경하면 항상 새로운 객체를 생성리터럴을 바로 입력한 데이터는 문자열이 같을 때 하나의 객체를 공유length()
객체는 사용할 수 있는 실체를 의미하며, 클래스는 객체를 만들기 위한 설계도와 같다.객체는 붕어빵, 클래스는 붕어빵틀이라고 생각하면 간단하다.클래스와 구조체의 차이점구조체 - 서로 다른 자료형을 1개의 자료형으로 묶어 관리하기 위한 용도클래스 - 다양한 자료형의 데이터

Object 클래스 자바에서 최상위 클래스는 java.lang.Object 이다. 명시적으로 지정하지 않으면 모든 클래스는 Object 클래스를 상속받는다. > final 키워드가 붙은 클래스는 하위 클래스를 가지지 못한다.
접근 지정자는 자바 제어자 중 한 종류로, 클래스, 멤버, 생성자 앞에 위치할 수 있으며, 사용 범위를 정의하는 역할을 한다.클래스의 내부 구성 요소 4가지(필드,메서드,이너클래스,생성자)앞에 붙어 있을 때와 클래스 자체에 붙어 있을 때와 나눠서 생각해야 한다.publ
클래스의 상속은 부모 클래스의 멤버를 내려받아 자식 클래스 내부에 포함시키는 자바 문법 요소이다.코드의 중복성 제거다형적 표현 가능객체를 여러가지 모양으로 표현할 수 있는 특성을 "다형성" 이라 한다.클래스를 상속할 때는 extends 키워드를 사용하며, 클래스명 다음
매서드 오버라이딩 메서드 오버라이딩(Overriding)은 부모 클래스에게 상속받은 메서드와 동일한 이름의 메서드를 재정의하는 것으로, 부모의 메서드를 자신이 만든 메서드로 덮어쓰는 개념이다. > 오버라이딩의 2가지 조건 부모 클래스의 메서드와 시그너처(메서드명,매개
final 제어자는 필드, 지역변수, 메서드, 클래스 앞에 위치할 수 있다.위치에 따라 의미가 다르다.final 제어자는 변수를 선언할 때만 지정할 수 있다.fianl 변수는 한번 대입된 값을 수정할 수 없다.즉 한번 대입된 값은 변경이 불가능 하다.final 메서드는
abstract : 추상적인 - 구체적이지 않다.abstract의 사전적의미는 '추상적인' 이다. abstract이 붙은 메서드를 추상 메서드 라고 한다.abstract이 붙은 클래스를 추상 클래스 라고 한다.추상 메서드 : 기능이 정해지지 않은 미완성 메서드추상 메서
인터페이스 : 호환성인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미한다.자바에서 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할
추상 클래스 : 미완성 설계도인터페이스 : 기본 설계도추상 클래스 : 추상클래스를 상속받아 기능을 이용하고 확장'상속' 개념이 들어간다인터페이스 : 추상메서드의 구현을 강제'다형성' 개념이 들어간다.추상 클래스 : 부모 클래스는 무조건 1개인터페이스 : 부모 인터페이스
이너 클래스(Inner Class) 클래스 내부에서 생성되는 클래스 주로 이벤트 핸들러를 처리할 때 나 안드로이 앱을 만들 때 많이 사용한다. `이너 클래스: 내부 클래스 , 아우터 클래스 : 외부 클래스' 장점 내부의 클래스는 외부 클래스의 모든 멤버(필드,메서드)
이너 인터페이스를 내부 클래스에 정의하는 것은 해당 클래스에 의존적인 기능을 수행할 때다. 내부 클래스에 존재하는 인터페이스 이다.정적 이너 인터페이스만 존재할 수 있다.내부 클래스에 인터페이스 정의시, static 키워드를 생략해도 컴파일러가 자동으로 추가해 준다.인
예외는 연산오류, 숫자 포맷 오류 등과 같이 개발자가 해결할 수 있는 오류를 말한다. 여기서 해결은 차선책을 선택하는 것을 말한다.에러는 자바 가상 머신(JVM)에서 발생하는 오류로 개발자가 해결할 수 없는 오류를 말한다.자바에서 예외의 최상위 클래스는 'Excepti
예외 처리 문법은 크게 3가지 요소(try,catch,finally)로 구성돼 있다.try - 예외발생을 유발할 수 있는 코드를 블록으로 처리catch - 예외발생시, 예외 처리 코드를 블록으로 처리finally - 예외가 발생하던, 안하던 무조건 처리되는 코드를 블록
전가 : 잘못이나 책임을 다른 사람에게 넘겨씌움.자신이 호출한 지점을 예외를 전가할 수 있다.예외를 전가하면, 예외 처리의 의무를 호출한 메서드가 갖게 된다.상위의 메서드도 자신이 호출된 지점으로 전가가 가능하다.계속해서 상위 메서드로의 예외 전가가 된다면, main(
프로그램 하드디스크에 저장된 파일들의 모임(정적) 프로세스 프로세스는 메모리상에 로딩된 프로그램 (동적) 스레드 CPU를 사용하는 최소단위 프로세스 내부에서 사용되는 최소단위 쓰레드는 프로세스내 메모리를 공유한다. Stack 메모리는 공유하지 않음 > main 메서드도
동기화 : 동시에 데이터를 건들였을 때 데이터 처리를 순서를 정해 모든 데이터 처리를 받게 하는것하나의 작업이 완료된 후 다른작업을 수행하는 것비동기 - 하나의 작업의 완료여부와 상관없이 바로 다른 작업 명령을 수행하는 것비동기 사용시, 동시에 같은 데이터를 사용할 경
스레드는 객체가 생성, 실행, 종료 되기까지 다양한 상태를 가진다.Thread.State 는 enum 타입이다.내부에는 6개의 문자열 상수를 가지고 있다. \- NEW : 객체가 처음 생성되어 start()메서드가 실행되기 전 상태 \- RUNNABLE : star
자바에서는 다양한 종류의 클래스와 인터페이스를 제공한다 이런 클래스와 인터페이스를 내부 멤버에서 활용하는 클래스를 작성하고자 할 때는 제공되는 클래스나 인터페이스의 다양성 만큼이나 많은 가짓수의 클래스를 생성해야 한다.동일한 이름의 메서드나 다양한 타입의 입력 매개변수
클래스 전체를 제네릭으로 선언하는 대신, 일반 클래스 내부의 특정 메서드만 제네릭으로 선언할 수 있다.이를 제네릭 메서드라 하며, 리턴 타입 또는 입력매개변수 타입을 제네릭 타입 변수로 선언한다. 제네릭 클래스가 객체를 생성하는 시점에 실제 타입을 지정하는 것과 달리

컬렉션 프레임워크 란? 개념 구조
객체의 해시코드는 객체가 저장된 번지와 연관된 값객체가 저장된 번지를 기준으로 생성된 정수형 고윳값Object 객체의 hashCode()메서드로 hash 값 호출hashcode() 가 동일한지 확인 equal() 결과가 true 인지 확인1,2 단계 통과시 동일한 객체

배열과 비슷하게 객체를 인덱스로 관리배열과의 차이점은 저장 용량이 자동으로 증가객체를 저장할때 자동으로 인덱스 부여추가,삭제,검색을 위한 다양한 메서드 제공객체를 번지참조한다.null 도 저장이 가능하다.List 컬렉션 종류에는 ArrayList, Vector, Lin

List 컬렉션은 객체 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지 되지 않음.또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있음Set 컬렉션은 수학의 집합과 비슷하다. 집합은 순서와 상관없고 중복이 허용되지 않기 때문데이터를 구분하
List, Set 컬렉션과 달리 Collection인터페이스를 상속받지 않고, 별도의 인터페이스로 존재한다.Key 와 Value 한 쌍으로 데이터를 저장Key는 중복 저장 불가, Value는 중복저장가능Map 에서는 Key값을 Set 형태로 관리한다 이때문에 중복저장

ArrayList 구현 클래스 ArrayList : List 기능과 유사하게 구현되는 클래스 대표적인 List 구현 클래스로, List가 지니고 있는 대표적인 특징을 가지고 있다. 데이터를 인덱스로 관리. 저장공간을 동적으로 관리. 생성방법 기본 생성자로 Array
HashSet 구현 클래스 Hashset은 Set 인터페이스의 대표적인 구현 클래스이다. Hashset은 객체들을 순서 없이 저장하고 동일한 객체는 중복 저장하지 않음. Hashset 컬렉션도 저장용량을 동적 관리하며, 기본 생성자로 생성할 때 기본값은 16이다. H
HashMap 구현 클래스 HashMap : Hash + Map 의 개념을 가진 자료구조 Key값을 HashSet으로 구현한 Map 객체이다. Key값에 HashSet 특성이 있으므로 입출력 순서는 동일하지 않다. 하위 메서드 사용시, 유효하지 않은 key값을 매개
Stack 컬렉션은 클래스이다.LIFO 매커니즘을 가지고 있다.LIFO(Last In First Out) : 나중에 입력된 데이터가 먼저 출력되는 것.push(E item) - 매개변수의 item을 Stack<E>에 추가peek() - 가장 상위에 있는 원소값 리
Queue : 통로라고 생각하면 됨!FIFO 매커니즘을 가지고 있는 자료구조이다.FIFO(First in First out) : 첫번째 들어온 데이터가 가장 먼저 나간다.<예외 처리 기능 미포함 메서드>add(E item) - 매개변수의 item을 Queue에 추
람다식은 함수형 프로그래밍 기법을 지원하는 자바의 문법 요소이다.함수 - 기능 또는 동작을 정의한 일련의 명령모음메서드 - 클래스 또는 인터페이스에 정의된 함수객체 지향 프로그래밍에서는 함수는 항상 클래스 내부에 메서드로 존재해야 하고 메서드를 사용하기 위해서는 클래스
자바 파일 관리 자바의 File 클래스는 파일 과 폴더를 관리하는 클래스이다. 파일 객체 생성 File(String pathname) -pathname 위치를 가리키는 파일 객체 생성 File(File parent, String child) - parent 폴더에 ch
byte 단위 입출력 자바 입출력은 프로그램 기준으로 데이터가 들어오는 입력과 프로그램 외부로 나가는 출력으로 구성된다. 입출력 종류 byte 단위 입출력 byte 단위 입출력은 말 그대로 송수신하고자 하는 데이터를 byte 단위로 쪼개 보내고 받는 것이다. Input
char 단위 입출력 char 단위로 입출력을 수행하는 기본 클래스는 Reader 와 Writer 추상 클래스이다. Reader 와 Writer의 상속구조 Reader 클래스의 자식 클래스에는 FileReader, BufferedReader, InputStreamRe
StringTokenize 클래스는 문자열을 지정한 구분자로 쪼개주는 클래스쪼개진 문자열을 토큰 이라고 부른다public StringTokenizer(String str) - 전달된 매개변수 str을 기준으로 delim으로 분리한다, 기본 delimeiter는 공백 문