JAVA의 Class에 대해 배우다.
Class
JAVA는 file을 Class 단위로 생성한다. .java 파일은 1개의 Class와 매칭. Class는 객체의 설계 도면이다. 즉 객체는 Class로 만든다. 객체를 Class라고 그냥 대충 말하는 경우가 있는데, 엄밀히 말하면 다른 개념이다. Class로 만들어진 객체를 인스턴스라고 한다. 하나의 Class가 여러 개의 인스턴스를 만들어서 사용할 수 있다.
1. Class 작성
2. 객체 생성
3. 인스턴스 사용
Class는 표기법이 Pascal 표기법이다. Pascal 표기법은 첫 글자가 항상 대문자이다.
Class의 구성요소
1. Field (변수)
2. Constructor (생성자 함수)
3. Method (함수)
Constructor (생성자 함수)
생성자 함수는 객체를 생성할 때 반드시 필요하다. 객체를 생성할 때는 객체 생성 연산자 new와 생성자 함수를 사용해서 만든다.
ex) new Class()
생성자 함수는 반드시 클래스명과 동일해야 한다. 생성자 함수는 return값이 없다.
생성자 함수의 역할은 객체를 생성함과 동시에 일회성으로 진행하고 싶은 작업을 진행한다. 필드값의 변수를 초기화한다던지, 메서드를 호출한다던지..
1개의 Class는 반드시 1개 이상의 생성자 함수를 보유해야 하며, 만약 생성자 함수를 선언하지 않을 경우 JAVA가 자동으로 default생성자 함수를 생성한다.
객체 생성 방법
객체를 생성하는 방법은 다음과 같다.
→ 객체타입 객체변수명 = new 생성자함수()
이렇게 생성된 객체, 즉 인스턴스는 Heap 메모리 영역에 할당된다. 객체의 필드값이나 메서드에 접근하기 위해서는.(참조연산자)를 사용해서 접근한다. ex) 객체변수명.field
/*
* ■ Class
* - JAVA는 file을 Class단위로 생성
* *.java → 1개의 Class와 매칭
* - Class는 객체의 설계 도면
* 1. Class 작성
* 2. 객체를 생성
* 3. 인스턴스 사용
* - Pascal 표기법 사용
* - Class의 구성요소
* 1. Field (변수)
* 2. Constructor (생성자 함수)
* 3. Method (함수)
*
* ■ Constructor
* - 생성자 함수
* - 생성자 함수는 객체 생성시 반드시 필요
* - 생성자 함수는 이름을 반드시 클래스명과 동일하게 사용
* 예외: 카멜표기법 X
* - return 값 X
* - 객체 생성과 동시에 일회성으로 진행하고 싶은 작업
* - 멤버 필드값(변수) 초기화 or 메서드를 호출해서 객체를 사용할 준비
* - 1개의 Class는 반드시 1개 이상의 생성자 함수가 있어야 함
* - 생성자 함수를 선언하지 않으면 JAVA가 자동으로 default 생성자를 생성해서 실행
* - 객체 생성을 위한 요소
* 1. new : 객체 생성 연산자
* 2. Constructor : 객체 생성자 함수();
* ex) new Scanner();
*
* ■ 객체 생성 방법
* 문법: 객체타입 객체참조변수명 = new 생성자();
* ex) MemberDTO mDto = new MemberDTO();
* - MemberDTO() 생성자를 통해 객체가 생성
* → 인스턴스 → Heap 메모리 영역 할당
* - mDto 변수에는 인스턴스가 할당 된 Heap 메모리 주소가 저장
* - 사용할 떄는 mDto.~~
* .(참조연산자)
*
* MemberDTO mDto1 = new MemberDTO();
* MemberDTO mDto2 = new MemberDTO();
* 동일한 MemberDTO 클래스를 사용했더라도 생성된 인스턴스들은 별개로 동작
*
* this 와 super
* - this: 생성된 인스턴스를 지칭
* - super: 상속받은 부모를 지칭
*
* ■ Class 문법
* 접근제한자 | [지정어] | class | 클래스명 {
* public static 파스칼표기법
* [default] final
* abstract
*
* field;
* method;
* constructor;
* }
*/
package ch06_object;
public class Class04 {
// Default 생성자 함수
// - 생성자 생성하지 않는 경우 JAVA가 자동으로 생성
public Class04() {}
public static void main(String[] args) {
MemberDTO mDto = new MemberDTO();
// mDto.id = "chosun_1004"; private으로 외부에서 접근 불가
mDto.setId("chosun_1004"); // 외부(저장)
mDto.getId(); // 외부(조회)
System.out.println(mDto.toString()); // 값 확인
}
}
'Java' 카테고리의 다른 글
[Java] Method (함수) (0) | 2025.07.08 |
---|---|
[Java] 접근 제한자 (Access Specifier) (0) | 2025.07.08 |
[Java] 객체 지향 프로그래밍 (OOP) (0) | 2025.07.08 |
[Java] 배열 (0) | 2025.07.08 |
[Java] while 반복문 (0) | 2025.07.08 |