JAVA

    고급언어로 이루어진 소스코드를 작성 시 JAVA

    컴파일시 .class 라는 바이트 코드가 생성된다.


    클래스의 이름은 파일 이름과 같다.


    1. 자바의 특징

    - WORA

    - 플랫폼의 독립적

    - 객체지향

    - 멀티스레드

    - 소스(.java)와 클래스(.class)파일

    - 실행 모듈 (한개의 CLASS 또는 다수의 CLASS 파일로 구성)

    - main() 메소드 - 자바의 응용프로그램의 실행은 main() 메소드에서 시작

    - 클래스로 캡슐화

    - 패키지 - 관련된 여러 클래스를 패키지를 묶어 관리

    - 가비지 컬렉션 존재(system.gc())

    - 실시간 응용프로그램에 부적합

    - 자바 프로그램은 안전


    2. 식별자(Identifier)

    클래스, 변수, 상수, 메소드에 붙이는 이름


    - 식별자 원칙

    특문, 공백, 탭 X

    '-', '$', 사용가능

    유니코드, 한글 가능

    첫 문자로 숫자 불가

    불린 리터널, 널 리터널 식별자 사용불가

    길이제한 X

    대소문자 구별한다.


    3. 자바의 데이터 타입


    - Default Type

    boolean - 1

    char - 2

    byte - 1

    short - 2

    int - 4

    long - 8

    float - 4

    double - 8


    - Reference Type

    Class에 대한 레퍼런스

    interface에 대한 레퍼런스

    array에 대한 레퍼런스


    108 p

    Compile 찾는 문장


    for 문장의 결과값


    Continue, Break 한문제


    배열 생성방법, 길이 한문제

    int a[] = new int[5];

    int []a = new int[5];

    int b[] = { 1,2,3 };

    b.length;


    new - 객체 생성 연산자

    메소드 리턴타입 확인

    public static void main(String args)

    예외 처리하는 방법

    Try - 예외 발생할 수 있을 문장을 명시

    Catch - 예외가 발생했을 때 처리하는 문장

    Finally - 생략가능, 반드시 실행해야하는 문장


    4. 자주 발생하는 예외

    ArithmeticException - 정수를 0으로 나눌때 발생

    NullPointerException - NULL 레퍼런스를 참조할 때 발생

    ClassCastException - 변환할 수 없는 타입으로 객체를 변환할 때 발생

    OutOfMemoryError - 메모리가 부족한 경우 발생

    ArrayIndexOutOfBoundsException - 배열의 범위를 벗어난 접근 시 발생

    IllegalArgumentException - 잘못된 인자 전달 시 발생

    IOException - 입출력 동작실패 또는 인터럽트 시 발생

    NumberFormatException - 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환시 발생


    5. 객체지향 언어

    객체는 특성과 메소드로 구성되어있음


    5.1 객체의 특성

     - 캡슐화

     객체를 캡슐로 싸 내부를 볼 수 없게함


     - 상속성

     내 특성과 메소드를 상속받은 클래스에서 재사용 가능하게 함


     - 다형성

      같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작

     오버로딩 - 

     오버라이딩 - 


    객체지향언어는 순서에 상관하지 않는다.


    객체를 만드는 틀을 클래스라고 한다.


    [접근권한] [클래스선언] [클래스 이름]

    변수(멤버, 필드, 속성)

    메소드


    메소드와 생성자를 구분하는 법은 클래스와 이름이 같은지를 살펴본다.


    5.2 생성자의 특징

    메서드형식

    반환형을 가지지 않는다.


    this - 나의 클래스를 가리키는것

    super - 부모 클래스를 가리키는것


    this.a <- 내 클래스의 변수 호출

    this.b(); <- 내클래스의 메서드 호출


    일반적으로 매개변수로 값이 전달됨

    배열이나 객체를 매개변수로 사용시 주소가 전달됨


    멤버 접근 지정자

    PUBLIC - 모든 클래스

    PROTECTED - 동일 패키지와 자식 패키지

    DEFAULT - 동일 패키지

    PRIVATE - 자기클래스만(완벽차단)


     

    Private

    Default 

    Protected 

    Public 

    같은 패키지의 클래스 

    다른 패키지의 클래스

    접근가능영역 

    클래스 내 

    동일 패키지 내 

    동일 패키지와 

    자식 클래스 

    모든 클래스 



    가비지 컬렉션

    System.gc()


    Static 멤버의 공간적, 시간적 특성























    객체를 따로 생성하지 않고 [클래스명].[Static 변수]로 접근이 가능하다.


    Final 클래스 - 상속불가

    Final 메소드 - 오버라이딩 불가

    Final 필드 - 상수설정

    '고사' 카테고리의 다른 글

    SHELL PROGRAMING  (0) 2017.10.03
    암호학  (0) 2017.10.01
    인터넷 보안  (0) 2017.09.21
    전산개론  (0) 2017.06.19
    리눅스  (0) 2017.06.14
    Posted by Config