new 사용
클래스(사람)이 가지고 있는 속성을 변수로 선언해줄 수 있다
| ✔️Class(Person) | ✔️Main |
|---|---|
![]() | ![]() |
| 변수(속성) 선언하기 | 속성에 접근하기 |
조립 설명서이다
기본 생성자
- 원래는 생성자가 없으면 조립이 불가하지만, 기본 생성자가 존재
- Person() {}
- 새로운 생성자를 정의하면 기본 생성자는 사라진다
💡 생성자의 특징
1️⃣ 클래스와 이름이 같다
2️⃣ 반환 타입이 존재하지 않는다.
3️⃣ 여러개가 존재할 수 있다
| ✔️Class(Person) | ✔️Main |
|---|---|
![]() | ![]() |
thisthis를 통해 인스턴스 변수에 접근할 수 있다! 
| ✔️Class(Person) | ✔️Main |
|---|---|
![]() | ![]() |
| 선언 | 호출 |
게터와 세터도 메서드의 일종이다 !
클래스의 속성을 가져올 때 사용되는 기능 ➡︎ get을 붙이자
| ✔️Class(Person) | ✔️Main |
|---|---|
![]() | ![]() |
getName = 클래스에서this.name이라는 속성을 가져다주는 메서드 | ➡︎ person A, B의 이름을 출력할 수 있게 된다 |
속성을 외부(Main)에서 설정할 수 있다
| ✔️Class(Person) | ✔️Main |
|---|---|
![]() | ![]() |

.java)이 올라간다 (실행 시점에 한번만 저장)static 변수, 메서드들도 이곳에 저장된다 (static은 공통사용이므로)지역변수들이 저장되는 공간 ➡︎ 객체의 주소값이 저장된다

int = a일 경우 데이터 그자체, 따로 기능이 없음
.toStirng() ➡︎ 클래스 Integer의 메서드 중 하나로 데이터를 문자열로 바로 변환해준다
✔️ 기본 자료형 ✔️ 래퍼 클래스 byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean

💡 오토박싱
기본형 ➡︎ 래퍼형 자동 변환
Integer num3 = 10; // ✅ 오토박싱
💡 오토 언박싱
래퍼형 ➡︎ 기본형 자동 변환
Integer num3 = 10; int num = num3; // ✅ 오토 언박싱----> 참조형을 바로 int 타입에 담았는데도 오류가 없다 !

💡 인스턴스 멤버
- 객체를 만들 때 생성되는
변수와메서드➡︎ 당연히 객체를 생성한 후에 사용가능- 인스턴스는
Heap Area에 저장
💡 클래스 멤버
- 클래스 자체에 속해있는
변수와메서드static을 사용한다
- 공통 속성 / 공유해서 사용가능
- 객체 생성 없이도 사용가능
Method Area에 저장 ➡︎ 메모리가 프로그램 시작부터 종료시까지 유지되므로 필요할 때만 사용
final이 선언된 변수는 값을 변경할 수 없다
final이 선언된 클래스는 상속할 수 없다final이 선언된 메서드는 오버라이딩 할 수 없다일단 외우자 ..!
final이 붙으면 변경, 상속, 오버라이딩 불가 ❌
static final으로 선언
setter없이 설계한다 ( 변경할 수 없어야하므로 )String Integer 래퍼클래스 등불변객체 사용 예시
- 클래스의 속성이 이렇게 선언되었을 때
- 참조하고 있는 객체의 주소값은 변경 불가 / 내부는 변경가능
- 올바르게 불변 객체를 만들려면 ? radius에도
final을 선언한다
1️⃣ 생성자 활용
| ✔️ 클래스 | ✔️ 메인 |
|---|---|
![]() | ![]() |
| 변경하고자 하는 값으로 생성자를 만들고 | 새 객체를 생성한다 |
2️⃣ 메서드 활용
| ✔️ 클래스 | ✔️ 메인 |
|---|---|
![]() | ![]() |
| 속성을 변경 할 수 있는 기능을 새로 만든다 | 기능을 활용해 속성을 변경한다 |
📌 인터페이스 활용하기
1️⃣
new➡︎interface추가하기
2️⃣ 공통 규격을 작성한다 (따로 명령어는 작성안해도 된다)
3️⃣ 적용하기
implements
클래스로 와서 implements+인터페이스 이름을 작성option + enter 후 적용하기
4️⃣ 클래스로 공통 규격이 불러와졌다 , 각 차량에서 기능을 만들어주면 된다
implements 뒤에 여러 인터페이스를 입력하면 된다static과 함께 변수 선언하면 된다