자바 총정리

자바 총정리

 *   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. 예외처리
 *     : 비정상 종료를 방지하고 현재 실행상태 유지