Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- java #문법
- sql #내일배움캠프 #스파르타코딩클럽
- html #css #부트스트랩 #웹사이트 #개발 #초보 #til #내일배움캠프 #스파르타코딩클럽
- java
- sql #부트캠프 #내일배움캠프 #웹관리자 #도전 #학습
Archives
- Today
- Total
Hyeok의 웹 개발 블로그
<2025.02.26> JAVA 문법 종합반 [2-1]~[2-5] 본문
- Class (클래스)
- 객체를 만들 때 필요한 청사진 (설계도) - 객체 (object)
- 실제로 존재하는 것
- 주변에서 볼 수 있는 컴퓨터, 계산기, 자동차 같은 사물이 객체
- 덧셈, 뺄셈 등 눈에 보이지 않는 것들도 무형의 객체가 될 수 있다.
- 클래스가 준비되어 있다면 클래스를 기준으로 여러 객체들을 만들어 낼 수 있다.
- 클래스 구조
1. 속성
2. 생성자
3. 기능
- 속성(property, field)
- 객체는 속성(특징)을 작성하는 곳
- 객체를 생성해야 속성에 접근 가능
- 속성들은 '변수' 로 표현
- property, field 라고도 표현
- 사람의 속성을 예로 들면 나이, 이름, 주소 등이 있다. - 생성자(constructor)
- 객체를 만들 때 사용
- 객체를 어떻게 만들지 정의해 놓는 것
- 생성자가 없으면 클래스를 객체화 시킬 수 없다.
[생성자의 특징]
- 변환 자료형이 없다.
- 클래스 명과 이름이 같다.
- 여러 개가 존재할 수 있다. - 기능(메서드)
- 객체의 기능을 나열하는 곳
- 기능은 메서드로 표현
- 상상하는 모든 기능을 구현 가능 (자기소개, 더하기, 걷기 기능 등)
- 하지만 클래스와 관련된 기능을 작성하는 것이 좋음
- 메서드를 활용하는 것이 객체의 기능을 활용하는 것이다.
- 게터(getter) 와 세터(setter)
- 게터란 클래스의 속성을 가져올 때 사용되는 기능을 의미합니다.
- 세테란 객체의 속성을 외부에서 설정할 수 있게 해주는 기능입니다.
- JVM 메모리 구조




- 래퍼 클래스
- 기본자료형을 객체로 감싸는 클래스


- 참조형 (Reference Type)
- 변수에 객체가 담기면 해당 변수를 참조형 변수라고 말한다.
- 참조형 변수는 데이터가 저장된 메모리 주소를 가리킨다. (Heap 메모리 주소)
- 객체 데이터는 Heap 영역에 저장되어 있기 때문이다.
- 객체, 배열 등이 참조형에 속한다.


- 오토박싱 , 언박싱
- 오토박싱(Auto-boxing) [기본형 > 래퍼형으로 변환하는 과정]
- Integer는 참조형(객체)이지만 기본형 int 값을 직접 대입할 수 있다.
- 내부적으로 컴파일러가 자동으로 Integer.valueof(10)을 호출하여 객체를 생성하기 때문. - 오토 언박싱(Auto-unboxing) [래퍼형 > 기본형으로 변환하는 과정]
- num은 Integer 객체(참조형 변수)지만 기본형 int 변수에 대입 가능
- 내부적으로 컴파일러가 자동으로 num.intvalue()를 호출하여 기본형으로 변환
- Static
- 모든 객체가 함께 사용하는 변수나 메서드를 만들때 사용
- 객체를 만들지 않아도 클래스 이름만으로 바로 사용 가능
- 모든 객체가 같은 값을 공유 (공용 게시판이라고 생각하면 편함)
- 변수와 메서드는 한 번만 생성되고 Method Area에 저장
- Static 활용

- 인스턴스 멤버 (인스턴스 변수 + 인스턴스 메서드)
- 객체를 만들 때 마다 생성되는 변수와 메서드
- 객체를 생성한 후에만 사용 가능
- 각 객체가 개별적으로 값을 가짐
- 인스턴스는 Heap 영역에 위치
- 인스턴스 변수
- 객체가 생성될 때마다 만들어지는 변수
- 객체를 생성한 후 접근
- name 변수는 각 객체마다 별도로 저장 - 인스턴스 메서드
- 객체의 속성을 활용하는 메서드
- 객체가 생성된 후에만 사용
- 클래스 멤버 (클래스 변수 + 클래스 메서드)
- 클래스 자체에 속하는 변수와 메서드
- static 키워드를 사용해서 선언
- 해당 클래스로 만들어진 객체가 공유해서 사용
- 클래스가 로드될 때 Method Area 에 적재
- 객체 생성 없이 사용 가능
- 클래스 변수
- 클래스가 로드 될 때 한번만 생성
- 모든 객체가 공유하는 변수
- Heap 이 아니라 Method Area 에 저장
- 객체를 만들지 않아도 클래스명, 변수명으로 접근 가능 - 클래스 메서드
- 클래스에 속하는 메서드
- 객체 없이 사용
- 클래스 변수만 사용할 수 있고 인스턴스 변수는 사용 X
- final
- 변수는 변경이 불가능하게 만듬
- 클래스는 상속할수 없게 만듬
- 메서드는 수정할 수 없게 만듭니다. (오버라이딩 불가)
- 상수 (Constant)
- 상수는 변하지 않고 항상 일정한 값을 갖는 수
- Java에서 상수는 대문자로 표현
- 프로그램 실행중에 절대 변경되서는 안되기 때문에 static final 키워드를 사용
- static으로 선언된 변수는 프로그램 시작시 한 번만 초기화되고 모든 인스턴스에서 같은 값을 공유 - 불변 객체 (Immutable Object)
-불변객체는 내부 상태를 변경X
- final을 속성에 활용
- 세터 없이 설계
- 변경이 필요할 경우 새로운 객체를 만들어야함
ex) String, Interger, 래퍼클래스 등
'TIL > Java' 카테고리의 다른 글
| <2025.03.06>Java 챕터 [3-1] ~[3~3] (0) | 2025.03.06 |
|---|---|
| <2025.03.05> 계산기 과제 Lv.2 (0) | 2025.03.05 |
| <2025.02.28> JAVA 계산기 만들기 (0) | 2025.02.28 |
| <2025.02.25> JAVA 문법 종합반 [1-6]~[1-10] (0) | 2025.02.25 |
| <2025.02.24> JAVA 문법 종합반 [1 -1]~ [1-5] (1) | 2025.02.25 |