자바 시작하기

Dear·2025년 5월 9일

TIL

목록 보기
18/74

💙 JDK

Java Development Kit : 자바 개발 키트

💙 JRE

Java Runtime Environment : 자바 실행 환경

💙 OOP

Object Oriented Programming : 객체 지향 프로그래밍

데이터를 객체로 취급하여 프로그램하여 반영한 것이며, 순차적으로 프로그램이 동작하는게 아닌 객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말한다.

특징

  1. 코드의 재사용성이 높다.
  2. 코드의 변경이 용이
  3. 직관적인 코드분석
  4. 개발속도 향상
  5. 상속을 통한 장점 극대화

💙 자바 특징

  • 메모리를 자동으로 관리한다.

    객체 생성 시 자동적으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면 쓰레기 수집기(Garbage Collector)를 실행시켜 자동적으로 사용하지 않는 객체를 제거한다

  • 멀티 스레드를 쉽게 구현할 수 있다.

  • 동적 로딩(Dynamic Loading)을 지원한다.

    애플리케이션이 실행될 때 모든 객체가 생성되지 않고, 객체가 필요한 시점에 클래스를 동적로딩해서 객체를 생성한다.

  • 자바가상머신(JVM)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다. (운영체제에 독립적)

  • 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어이다.

💙 자바 동작 구조

  1. 확장자가 .java인 파일(소스 파일)을 작성

  2. 이 소스 파일을 컴파일러로 (javac.exe)로 컴파일

  3. .class인 바이트 코드 파일 생성
    바이트 코드 파일은 JVM 구동 명령어(java.exe)에 의해 JVM에서 해석 후 해당 운영 체제에 맞게 기계어로 번역

💙 API Document

https://docs.oracle.com/javase/8/docs/api/index.html

💙 literal

소스 코드 내에서 직접 입력된 값
int a = 10; // 10이 리터럴

💙 정수 (byte, short, int, char, long)

소수점 이 없는 정수 리터럴 : 10진수

0으로 시작되는 리터럴 : 8진수

0x 또는 0X로 시작하고 A~F(a~f)로 구성된 리터럴은 16진수

char 는 음수 불가(문자열로는 가능)

💙 실수(float, double)

E(e) 가 있는 리터럴 : 10진수 지수와 가수로 간주
5E7 → 5 x 10의 7승
0.12E-5 → 0.12 x 10의 -5승
float : 4byte
double : 8byte

자바는 실수 리터럴의 기본 타입을 double로 간주

float 타입에 실수 리터럴을 그냥 저장할 수 없다. 반드시 뒤에 ‘f’나 ‘F’를 붙여야한다.

💙 char

‘ 로 감싼 문자가 아니라 직접 유니코드 정수값을 저장 가능 → 10진수 또는 16진수 사용

// A를 10진수와 16진수로한 표기 예시
char c = 65; 
char c = '\u0041'; // 유니코드라는 의미로 '\u + 16진수값'

// char 변수에 저장된 유니코드를 알고 싶다면 char 타입 변수를 int 타입 변수에 저장
char c = 'A';
int uniCode = c; // 65

💙 long

long 타입의 변수를 초기화할 때에는 정수값 뒤에 소문자 ‘l’이나 대문자 ‘L’을 붙일 수 있다.

💙 String

String은 기본 타입인 아닌 클래스 타입

문자열을 String 변수에 대입하면 문자열이 변수에 직접 저장되는 것이 아니라 String 객체가 생성되고, String 변수는 String 객체의 번지를 참조한다.

🤍 회고

자바를 처음 배울 때 공부했던 내용이라 현재 코딩 테스트나 프로젝트를 공부하면서 자연스럽게 잊고 있었던 부분들이 있었다. 다시 학습하는 과정에서 "아, 맞다" 하고 떠오르는 순간들이 있어 재미있었다. 면접을 대비해서 자바의 기본 개념들을 더 확실히 다져야겠다는 생각이 든다.

profile
친애하는 개발자

0개의 댓글