< 프로그래밍 언어 활용 – 개념 정리 >
-
자바의 특징(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 |