본문 바로가기
Language/Java 요약

자바 개념 정리

by 태윤2 2020. 7. 2.

< 프로그래밍 언어 활용 – 개념 정리 >

  • 자바의 특징(WORA, JVM, Garbage Collector 등) & IDE, JDK, JRE 등

Write once Run Anywhere = WORA

Java Vircual Machine = JVM = 운영체제 상관없이 자바를 구동시켜주게하는것

Garbage Collector 

Integrated Development Environment = IDE =이클립스 

Java Development Kits = JDK 

Java Runtime Environment = JRE = JDK + JVM + etc...

  • 변수명 작성 규칙

공백 사용 불가 

대소문자 구분

_ $만 사용가능

숫자가 첫글자 x

키워드사용불가

 

camel_case

클래스 첫글자 대문자 메서드,변수 소문자
의미있는 문자사용

  • 기본 자료형 변수 선언 및 초기화 방법

데이터타입 변수명 = 저장할 값;

 

  • 기본 자료형의 기본값

int 0 ;
double 0.0;
boolean false

  • 논리연산자 종류 및 특징

&& and
|| or
! not
^ 두 값이 true 면 false false 면 true

  • if문 사용법(양수&음수 판별 or 홀수&짝수 판별)

if( a <0 ) {
음수
} else if(a==0){
숫자 0
} else {
양수
}

  • for문 사용법(구구단)
    for(int i =2 ; i<10 ; i++){
    for(int o = 1 ; o<10 ; o++) {

}
}

  • Switch – Case 문(기본 문법, 특징, break 문 유무에 따른 차이점)

switch(정수,상수,문자열){
case 조건 :
조건이 맞으면 실행할 문장
[break] switch case 문을 빠져나감;
case 조건2:
default 조건이 맞지않으면 실행할 문장
}

  • 배열(배열 선언, 생성, 초기화)

     

      int[] i;// 배열 변수 선언
      i = new int[4];// 생성
      i = new int[] {1,2,3,4}; // 초기화
  • 객체지향 프로그래밍 특징(캡슐화, 다형성, 상속성, 추상화)

추상 : 추상메서드 강제성,코드의 통일성 , 공통되는것만 추출해서 상위개념을 만드는것 // 차이점을 뻄
상속 : 슈퍼클래스를 상속받아 슈퍼클래스의 메서드,변수를 사용할수 있음 물려받은 것들을 선언없이 사용할수 있음
다형성 : 업캐스팅,다운캐스팅 // 캐스팅을 통해 하나의 클래스(참조변수)로 여러 클래스(참조변수)를 참조할수있음
캡슐화 : 외부로부터 은닉 보호 private 를 지정한 변수를 Getter/Setter 로 접근가능

  • 클래스(클래스 정의, 레퍼런스 변수 선언, 인스턴스 생성, 인스턴스 변수 초기화)

클래스: 객체(인스턴스)를 실체화 하기위한 구조, 설계

Class명 변수 = new Class() 명;

 

  • 상속(서브클래스 정의, 상속받은 변수 활용한 메서드 정의)

서브클래스 extends 슈퍼클래스 {} 로 지정
super() 로 슈퍼클래스의 생성자 접근가능
superXXX 으로 슈퍼클래스의 멤버변수 접근가능

 

  • 접근지정자 종류 및 특징

public
protected
default
private

  • 레퍼런스 형변환에 사용되는 연산자변수XXX(객체) instanceof 클래스명(타입)
    XXX변수가 클래스 로 캐스팅(업or다운) 이가능한가
    if문으로 제어

  • API

Application programming Interface

자바에서 제공하는 프로그래밍에 필요한 클래스들의 모음

  • 패키지(import 가 필요 없는 기본 패키지, import 단축키)

클래스들을 모아놓은 폴더=패키지

ctrl shift o

java.lang = import 가 필요없는 기본 패키지

  • 난수 발생에 활용되는 클래스 이름(패키지명.클래스명)

Math = java.lang
Math.random(Long) (long타입 ,범위에 랜덤한 난수 발생) 0.0<= Long <1.0;
Math.random() * 10 = 0 <= Long < 10;
Math.random() * 10 +1 = 1<=Long <11; = 1보다 크고 11보다 작은 ;
(int)(Math.random() * 10 +1) -> 인트형으로 변경.

greaterthan or equal to 0.0 and less than 1.0

 

Random = java.util

Random.nextInt(x) = 0<= int형 <x 랜덤 숫자 발생
인스턴스 생성이 필요함.
Random.nextInt(10) +1 ;

  • 난수 발생 핵심 코드

Math = Math.random() * 10 +1
Random = Random.nextInt(10) +1 ;

  • String 클래스(영문자 비교)

String 클래스
equals (대소문자 구분)
equalsIgnoreCase(대소문자 구별없이)

  • 예외(Exception), 예외 처리 방법(try ~ catch)

개발자가 의도치 않은 상황 = 예외

어떤 원인에 의해 비정상 종료되는 상황
오류 = 일단 발생하면 복구할수없거나 되둘릴 수없는상황

예외 = 오류에 비하면 심각도가낮으며 프로그램의 정상적인 흐름을 방해하는 상황
비정상적인 종료를 막고 계속해서 사용할 수 있도록 처리하는것을 예외처리
컴파일 시점에서 체크하는 CheckedException
과 실행 시점에서 체크하는 UnCheckedException 이 있다.

  • 멀티쓰레딩(Thread)
    프로세스 동작의 최소단위.
    하나의 프로세스에서 여러개의 쓰레드가 동작하는 환경을 멀티쓰레딩 이라고한다.
    장점 : CPU사용률 향상, 응답성 향상, 자원 효율성 증대

1) Tread 를 상속받아 run()메서드를 오버라이딩해 strat()메서드를 호출해 사용
2) Runnable 을 구현해 run() 메서드를 오버라이딩하지만 start()메서드는 추상메서드에 없음
Runnable 을 구현한 메서드를 Thread 메서드 생성자에 입력후. 인스턴스생성
Thread.start()로 호출

  • 컬렉션 API(List, Set, Map 등)

컬렉션= 자료구조를 모아놓은것

 

Collection 인터페이스를 상속받은
List,Set,Map
List = 대표적인 구현클래스는 ArrayList,Vector
배열 과 유사한 구조, 인덱스로 데이터를 관리, 중복이 가능함

Set = 대표적인 구현클래스 HashSet,TreeSet
중복이 불가능= 중복제거하기 좋음
순서를 유지하지 않는 집합 = > 인덱스 번호가 없으므로 특정위치에 직접접근 불가능

Map = 대표적인 구현체 클래스 HashMap, Properties
키(key), 와 값(value)이 한쌍으로 구성된 데이터 구조
키는 중복불가능 값은 중복가능

'Language > Java 요약' 카테고리의 다른 글

개념정리 0709  (0) 2020.07.09
6/28 요약 List ~String 관련 클래스  (0) 2020.06.28
Java 0614 정리 / 다형성-추상  (0) 2020.06.14
Java 0614 정리 / 클래스 ~ 상속  (0) 2020.06.14
0613 Java 정리 2 / 배열  (0) 2020.06.13