[TIL 2일 차] Java 시작
생성일: 2025년 12월 31일 요일: Wednesday
오늘의 성취
- Java의 기본 자료형과 참조 자료형을 메모리 할당의 관점에서 학습
- 참조 타입(Reference Type)은 “실제 값이 아닌 객체가 저장된 메모리 주소를 가지고 있음”을 이해
오늘의 학습
1. Java 소개 및 환경 설정
Java 특징
- Write Once, Run Anywher
- 객체지향 언어(OOP)
- 자동 메모리 관리(GC)
- 함수형 프로그래밍 지원
JDK 구조

| 구성 요소 | 설명 |
|---|---|
| JDK | Java 개발에 필요한 모든 것을 포함한 패키지입니다. 개발자는 반드시 설치해야 합니다. |
| JRE | Java로 작성된 프로그램을 실행하기 위한 환경입니다. 개발 도구는 포함하지 않습니다. |
| JVM | 바이트코드를 실행하는 가상 머신으로 OS에 맞춰 자동 최적화됩니다. |
2. 변수
- 값을 저장할 수 있는 메모리(저장) 공간으로, 값이 변할 수 있다.
- 변수 선언과 할당 :
int num = 5;
3. 기본 타입 (Primitive Type)과 참조 타입(Reference Type)
기본 타입 (Primitive Type)
- 실제 값(value) 그 자체를 저장
| 종류 | 예시 | 크기 | 설명 |
|---|---|---|---|
| 정수 타입 | byte, short, int, long | 1~8 byte | 정수 저장 |
| 실수 타입 | “float, double | 4~8 byte | 실수 저장 |
| 문자 타입 | char | 2 byte | 유니코드 문자 저장 |
| 논리 타입 | boolean | JVM 구현에 따라 다름 | true/false |
참조 타입 (Reference Type)
- 값을 저장할 때, 실제 값이 저장된 메모리 주소(reference)를 저장
- 기본 타입 8개를 제외한 모든 것(
String,Object, 배열, 사용자 정의 클래스 등)
4. 문자열(String)
문자열(String)
- String 타입은 큰따옴표(””)로 감싸진 문자열
- String 타입 변수 선언 및 할당
String name1 = "Lee C";String name2 = new String("Lee H");
- String 타입은 불변 객체
- String 타입 선언 및 할당이 된 변수는 실제 문자열의 내용을 값으로 가지고 있는 것이 아니라 문자열이 존재하는 메모리 공간상의 주소값을 저장하고 있다.
- 때문에 두 String 변수를 등가 비교 연산자인
==나equals로 비교할 때 값이 달라질 때가 있다.
- 때문에 두 String 변수를 등가 비교 연산자인
5. 연산자(Operator)
연산자(Operator)
- 산술 연산자: 사칙연산(
+,-,*,/)와 나머지 연산자(%) - 비교 연산자:
boolean타입으로 평가될 수 있는 조건식에 사용됨- 대소 비교 연산자:
>,<,<=,>=와 등가 비교 연산자:==,!=
- 대소 비교 연산자:
- 논리 연산자: AND 연산자(
&&), OR 연산자(||), NOT 연산자(!)로, 공통으로boolean타입을 반환
6. 제어문
조건문
- 특정 조건에 부합하는 경우 어떤 코드를 실행되도록 할 때 사용됨
if문,if-else문,switch문
반복문
- 코드를 반복적으로 실행되도록 할 때 사용됨
for, 향상된for문(Enhancedfor문),while문,do-while문break문과continue문
7. 배열
배열
- 동일한 타입의 값들을 하나의 묶음으로 묶인 자료를 의미
자료형[] 변수명 = new 자료형[n];자료형[] 변수명 = new 자료형[]{a, b, c, d, ...};
- 가변 배열:
int[][] ages = new int[n][]; - 배열 탐색: 기본적으로 인덱스와 배열의 크기(
.length)를 활용하여 탐색
if문은 작은 범위부터 큰 범위로
내일의 계획
- 강의 진도 나간 부분까지 Java 연습 문제 풀기
- 스프린트 미션 1
Leave a comment