프론트엔드 개발자에서 풀스택 개발자까지!
자바 프로그램은 기본적으로 클래스 구조에서 시작 합니다.
클래스는 객체지향 개념에서 객체를 정의하는 틀로서 많은 객체지향 프로그램 언어의 기본 구조 입니다.
Class 구조 형
public class _01_HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
기본형 자료형(타입/크기 1byte,2byte,4byte,8byte)로 구성자바의 자료형 data type
변수의 특성을 결정짓는 키워드를 가리켜 자료형 이라고 한다.
- 논리형 boolean
- 문자형 char
- 정수형 byte, short, int, long
- 실수형 float, double
타입/ 크기 | 1byte | 2byte | 4byte | 8byte |
---|---|---|---|---|
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
이렇게 비교하니 자바스크립트에서 타입이 왼쪽으로 갔으며 자바스크립트보다 좀 더 세밀하게 타입을 정할 수 있는걸 알 수 있게되었어요
String 클래스는 문자열 처리를 위한 클래스로, 자바에서 문자열은 기본 자료형이 아니라 클래스를 사용하는 객체 타입이다.
한정자 | 클래스 내부 | 동일 패키지 | 하위 클래스 | 그 외의 영역 |
---|---|---|---|---|
public | O | O | O | O |
protected | O | O | O | X |
default | O | O | X | X |
private | O | X | X | X |
static
- 클래스 메서드와 클래스 변수를 선언하는 데 사용
- static은 자바의 정적 영역에 할당되는 리소스를 선언하는 데 사용
- 동일 가상머신상에서 실행 중인 모든 클래스에서 공유
- 인스턴스를 생성하지 않고도 클래스의 메서드나 멤버에 접근할 수 있음
final
- 더 이상 변경할 수 없도록 선언하는 한정자
- 클래스에 사용할 때는 서브 클래스를 만들 수 없음
- 메서드에 사용할 때는 오버라이딩을 할 수 없음
- 변수에 사용하면 변수에 저장된 값이 변할 수 없으므로 변수가 아닌 상수의 역할을 함
abstract
- 추상 클래스를 선언하는 데 사용하는 한정자
synchronized/volatile
- 스레드 프로그래밍에서 여러 스레드가 동시에 자원에 접근할 때 발생하는 데이터 동기화를 처리함
접근 한정자와 접근 범위 한정자,클래스 내부,동일 패키지,하위 클래스,그 외의 영역 로 구성자바 API
API는 Application Programming Interface의 약어로
응용 프로그램 개발에 사용할 수 있는 라이브러리 규격을 말한다.
기능 | 설명 | 패키지/클래스 |
---|---|---|
lang and util | 자바 언어의 주요 구성 요소와 관련된 패키지 | java.lang, java.util |
Math | 각종 수학 계산과 관련된 클래스 및 유틸리티 | java.math, java.lang.Math |
Collections | 다양한 자료구조를 동일한 방법으로 처리할 수 있도록 하는 라이브러리 | java.util |
Input/Output | 키보드, 네트워크, 파일 등 입출력 관련 주요 기능을 제공하는 라이브러리 | java.io, java.nio, java.net |
Date and Time | 시간 및 날짜 처리 관련 라이브러리 | java.util, java.text |
Networking | 네트워크 통신 프로그래밍 관련 라이브러리 | java.net |
Swing/AWT | GUI 구현 관련 라이브러리 | java.swing, java.awt, javax.swing |
JDBC | 데이터베이스 프로그래밍 관련 라이브러리 | java.sql |