[Java] 자바 기본 문법

DongEun·2023년 9월 3일
2
post-thumbnail

프론트엔드 개발자에서 풀스택 개발자까지!


1. Java란?

자바 프로그램은 기본적으로 클래스 구조에서 시작 합니다.
클래스는 객체지향 개념에서 객체를 정의하는 틀로서 많은 객체지향 프로그램 언어의 기본 구조 입니다.

Class 구조 형

public class _01_HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}



2. 자료형 data type

자바의 자료형 data type
변수의 특성을 결정짓는 키워드를 가리켜 자료형 이라고 한다.

  • 논리형 boolean
  • 문자형 char
  • 정수형 byte, short, int, long
  • 실수형 float, double
기본형 자료형(타입/크기 1byte,2byte,4byte,8byte)로 구성
타입/ 크기 1byte 2byte 4byte 8byte
논리형 boolean
문자형 char
정수형 byte short int long
실수형 float double

2-1. 자료형 선언 방법

이렇게 비교하니 자바스크립트에서 타입이 왼쪽으로 갔으며 자바스크립트보다 좀 더 세밀하게 타입을 정할 수 있는걸 알 수 있게되었어요

  • boolean
    • 1바이트, true 값 또는 false 값
  • char
    • 문자를 저장하거나 출력하는 용도로 사용
  • byte
    • 작은 범위의 값을 저장하기에 유용
  • short
    • 메모리에서 차지하는 크기가 작다는 것이 장점 하지만 잘 사용하지 않음
  • int
    • 정수 타입의 연산에 기본이 되는 자료형
  • long
    • 정수 표현 범위가 큰 데이터를 저장하기에 유용
  • float
    • 표현 범위가 작음. 값을 지정할 때 숫자 뒤에 f나 F를 붙여서 구분
  • double
    • 실수형에서 사용하는 기본 데이터형

2-2. String

String 클래스는 문자열 처리를 위한 클래스로, 자바에서 문자열은 기본 자료형이 아니라 클래스를 사용하는 객체 타입이다.



3. 한정자와 접근 범위

3-1. 접근 한정자

접근 한정자와 접근 범위 한정자,클래스 내부,동일 패키지,하위 클래스,그 외의 영역 로 구성
한정자 클래스 내부 동일 패키지 하위 클래스 그 외의 영역
public O O O O
protected O O O X
default O O X X
private O X X X

3-2. 일반 한정자

  • static
    - 클래스 메서드와 클래스 변수를 선언하는 데 사용
    - static은 자바의 정적 영역에 할당되는 리소스를 선언하는 데 사용
    - 동일 가상머신상에서 실행 중인 모든 클래스에서 공유
    - 인스턴스를 생성하지 않고도 클래스의 메서드나 멤버에 접근할 수 있음

  • final
    - 더 이상 변경할 수 없도록 선언하는 한정자
    - 클래스에 사용할 때는 서브 클래스를 만들 수 없음
    - 메서드에 사용할 때는 오버라이딩을 할 수 없음
    - 변수에 사용하면 변수에 저장된 값이 변할 수 없으므로 변수가 아닌 상수의 역할을 함

  • abstract
    - 추상 클래스를 선언하는 데 사용하는 한정자

  • synchronized/volatile
    - 스레드 프로그래밍에서 여러 스레드가 동시에 자원에 접근할 때 발생하는 데이터 동기화를 처리함



4. 자바 기본 라이브러리

자바 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

reference

profile
다채로운 프론트엔드 개발자

0개의 댓글