본문 바로가기
Engineering WIKI/Book

실무에서 바로 통하는 자바

by wonos 2021. 9. 21.
  • 실무에서 바로 통하는 자바
    1. 생성자 개념, 컴퓨터가 이해하는 클래스 파일 (바이트코드 작성)
    2. 데이터 타입 → 기본 자료형(스택), 참조형
      • 스택 영역 - 아주 잠깐 사용하고 삭제할 데이터의 저장공간 변수는 모두 메모리에 저장됨
      • 힙 영역 - 프로그래머가 원하는 방식으로 쓸 수있는 공간, 긴 생명주기를 가진 데이터들이 저장됨
    3. 문자열 비교 → '==' 대신 equals를 사용하자
    4. 캡슐화 - 외부에서 객체의 속성이나 행위를 호출하는것을 제한하는것
    5. 상속 - 이미 존재하는 클래스의 속성이나 행위를 물려받아 새롭게 정의하는 클래스의 일부로 만드는 구조
    6. 다형성 - 여러 객체의 공통된 속성과 행위를 추출해 하나의 객체를 만드는 것. 다형성을 사용함으로써 공통된 속성과 행위를 가진 객체를 하나로 모아 사용할 수 있다.
    7. 추상클래스 - 추상메서드를 포함하는 클래스. 추상메서드란 이름, 반환형, 인수만 정의한 메서드
    8. 추상클래스를 상속할 경우 추상메서드는 반드시 구현되어야 함.
    9. 인터페이스 - 추상메서드만 있는 클래스
    10. 제네릭 - 클래스 내부에서 사용할 자료형을 정의해 타입세이프를 구현하는 기능 제네릭에서는 원래 형 직후에 꺽쇠 기호를 이용해<자료형>을 기술 GenericsSample<E> 여기서 E는 형식 매게 변수 (우변 생략 가능)
    11. 람다 - 익명 함수(Anonymous functions)를 지칭, 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징
      public static void main(String[] args){
      
         Math plusLambda = (first, second) -> first + second;
         System.out.println(plusLambda.Calc(4, 2));
      
         Math minusLambda = (first, second) -> first - second;
         System.out.println(minusLambda.Calc(4, 2));
      
      }
  • Database
    1. 전체 데이터 삭제(TRUNCATE)
      • 테이블에 저장된 데이터를 모두 삭제할 경우에는 DELETE문 대신 TRUNCATE문을 사용하는 편이 빠르다.
      • TRUNCATE 테이블명1, 테이블명2
    2. 인덱스 생성 (효율적인 검색 목적)
      • CREATE INDEX 인덱스명 ON 테이블 (컬럼);
      • CREATE INDEX index1 ON sample (column1);
    3. 인덱스 삭제
      • DROP INDEX index1;
    4. 테이블 삭제
      • DROP TABLE 테이블명
    5. 테이블 변경
      • column 열 추가
        • ALTER TABLE sample ADD COLUMN varchar(10);
      • column 열 삭제
        • ALTER TABLE sample DROP COLUMN column;
      • column 열의 데이터형 변경
        • ALTER TABLE sample ALTER COLUMN column TYPE varchar(10);
    6. 롤 생성
      • RDBMS는 권한을 몇 개 모아서 관리하는 롤이라는 기능을 제공
      • CREATE ROLE 롤명 WITH 옵션;
        -- ROLE을 생성 합니다.
        SQL>CREATE ROLE manager;
        
        -- ROLE에 권한을 부여 합니다.
        SQL>GRANT create session, create table TO manager;
        
        -- 권한이 부여된ROLE을 USER나 ROLE에 부여 합니다.
        SQL>GRANT manager TO scott, test;
    7. 권한의 종류
      • CONNECT - 데이터베이스에 접속할 수 있는 권한
      • SELECT - 조회할 수 있는 권한
      • INSERT - 신규 데이터를 추가할 수 있는 권한
      • DELETE - 삭제할 수 있는 권한
      • ALL PRIVILEGES - 모든 기능을 사용할 수 있는 권한
    8. 권한 부여
    • GRANT 권한 ON 권한_부여_대상 TO 권한을 부여할_롤
    • GRANT SELECT, INSERT ON sample TO sample_user;
    • 권한 박탈
      • REVOKE 권한 ON 권한_박탈_대상 FROM 권한을 박탈할 롤
    • JDBC Driver