
이번 강의에서는 Java의 실행 원리부터 변수, 메서드, 클래스, 패키지까지 기본 개념을 학습했다.
class, 클래스로 생성한 실제 객체가 instance이다.Java 소스 코드는 다음 과정을 거쳐 실행된다.
.java 소스 파일
↓ javac로 컴파일
.class 바이트 코드
↓ JVM에서 실행
프로그램 실행
JDK: Java 프로그램을 개발하는 데 필요한 도구JRE: Java 프로그램을 실행하기 위한 환경JVM: 바이트 코드를 운영체제에 맞게 실행하는 가상 머신Java는 JVM을 사용하기 때문에 같은 바이트 코드를 여러 운영체제에서 실행할 수 있다.
변수는 데이터를 저장하는 공간이다.
int age = 24;
double height = 178.6;
char gender = 'M';
boolean isStudent = true;
String name = "Java";
byte, short, int, longfloat, doublecharboolean기본 자료형을 제외한 대부분의 자료형은 참조 자료형이다. 참조 변수에는 객체 자체가 아닌 객체가 존재하는 위치를 가리키는 값이 저장된다.
클래스는 크게 변수와 메서드로 구성된다.
[접근 제어자] [반환 타입] 메서드명(매개변수) {
// 실행할 코드
}
public String teaching(String subject) {
return subject + "를 가르칩니다.";
}
void: 반환하는 값이 없다는 의미return: 메서드의 실행 결과를 반환메서드는 매개변수와 반환값의 유무에 따라 네 가지 형태로 나눌 수 있다.
클래스에는 객체가 가져야 할 속성과 기능을 정의한다.
public class Teacher {
public String name;
public int age;
public void eating() {
System.out.println("밥을 먹습니다.");
}
}
new를 사용하면 클래스를 기반으로 인스턴스를 만들 수 있다.
Teacher teacher = new Teacher();
teacher.name = "jslim";
teacher.age = 24;
teacher.eating();
Teacher: 클래스이자 자료형new Teacher(): 새로운 인스턴스 생성teacher: 생성된 객체를 가리키는 참조 변수.: 객체가 가진 변수나 메서드에 접근패키지는 관련된 클래스들을 하나의 그룹으로 관리하기 위한 구조이다.
package test.controller;
import test.domain.Teacher;
package: 현재 클래스가 속한 패키지를 선언import: 다른 패키지의 클래스를 가져와 사용프로젝트에서는 역할에 따라 패키지를 구분할 수 있다.
controller → 요청과 응답 처리
service → 비즈니스 로직 처리
repository → 데이터 접근
dto → 데이터 전달
domain → 핵심 객체 관리
Java 소스 코드
↓
JVM을 통한 실행
↓
변수와 자료형으로 데이터 표현
↓
메서드로 기능 정의
↓
클래스로 상태와 기능 묶기
↓
인스턴스 생성 및 사용
↓
패키지로 프로젝트 구조화
이번 강의를 통해 Java 문법이 단순히 코드를 작성하는 규칙이 아니라, 객체를 만들고 역할에 따라 프로그램을 구조화하기 위한 도구라는 것을 알게 되었다.