자바 총정리
* 1. 자바 (1.7~1.8)
* 1.8에 증가된 내용
* 1) 람다식 ()->{구현} (파이썬,C#) : 오라클(파이썬, C)
* 2) Nashorn : 자바스크립트 엔진
* 3) NIO (입출력)
* 4) 프로젝트 내에서 중복 제거, 관리 => 직소
*
* 2. 자바
* 변수(데이터형: int, byte, long, double, String, boolean), 상수
* 배열(일차원 배열), 제어문(if,for,while,switch-case,break,continue)
* 클래스: POJO(상속이나 구현이 없다. 사용자 정의때문에 쓴다. 제한 없이 프로그래머 마음대로 사용할 수 있기 때문)
* => 추상클래스 VS 인터페이스
* : 사용목적 = 서로 다른 클래스를 모아서 관리
* *변수를 모아 관리->배열
* *클래스를 모아 관리->인터페이스
* extends, implements=>동일한 클래스형으로 변환
* => instanceof
* => 익명의 클래스: 람다식
* => 메소드
* : 반복수행(재사용) => CallBack(AOP) 자바에서는 메인클래스, 이벤트(액션퍼폼드), 서블릿의 두겟/두포스트
* : 한 가지 기능만 수행
* => 변수
* 1) instance
* 2) static
* ==============================
* method영역, static
* ==============================
* stack(지역변수, 매개변수):메모리 관리 영역
* ==============================
* heap(new): 프로그래머가 관리 -> GC
* new => malloc(sizeof(10))
* delete => free()
* ==============================
*
* 3. 객체 지향의 기능
* 1) 캡슐화: 데이터 보호
* 캡슐화 VS 은닉화
* (게터세터) (프라이빗)
* 2) 상속(변경해서 쓴다): 재사용 => 포함(있는 그대로 쓸 때)
* === ===
* 3) 오버라이딩 VS 오버로딩 : 다형성
* ======= ======
* modify new
*
* 4. 예외처리
* : 비정상 종료를 방지하고 현재 실행상태 유지