Helmi

객체 생성과 클래스 변수 본문

JAVA/이것이 자바다

객체 생성과 클래스 변수

Helmi 2023. 4. 21. 16:34

클래스로부터 객체 생성하려면 객체 생성 연산자인 new 필요

new 클래스()

 

출처 : 이것이 자바다

객체생성 메모리에 형성됨. 메모리 어디에 객체 있는지 알아야 - 클래스 변수에 메모리 위치 정보 저장(번지, 주소, 참조)

메모리 변수를 객체에 저장을 먼저 함. 그래서 스택 내 변수는 참조 타입이 됨

 

스택(stack)영역에 변수(+객체의주소)가, 힙(heap)영역에 객체가 생성 됨

 

클래스 변수 = new 클래스();

new 연산자 뒤에는 생성자 호출 코드가 옴, 클래스() 형태 가짐. new 연산자는 객체 생성시킨 후 객체 주소 리턴(결과값 돌려줌)하므로 클래스 변수에 다음과 같이 대입 가능

 

Student.java

package ch06.sec04;

public class Student {
}

→ 객체를 만들기 위한 설계도.

 

StudentExample.java

package ch06.sec04;

public class StudentExample{
	public static void main(String[] args) {
    	//Student 타입에 s1 변수 선언, Student클래스로 객체 만들고 s1에 저장하겠다는 것(리턴시)
        Studnet s1 = new Student();
        System.out.println("s1 변수가 Student 객체를 참조합니다.");
        
        Student s2 = new Student();
        System.out.println("s12 변수가 또 다른 Student 객체를 참조합니다.");
	}
}

메인 메소드(public static void main(string[] args))가 없으면 객체를 설계해서 쓰는 설계도,

메인 메소드 있으면 실행용으로 만드는 것

 

클래스 두 가지 용도

1. 라이브러리 클래스 : 실행할 수 없으며 다른 클래스에서 이용하는 클래스 (외부에서 가져오는 것)

2. 실행 클래스 : main() 메소드 가지고 있는 실행 가능 클래스

ex) Student는 라이브러리 클래스, StudentExample은 실행 클래스. 일반적으로 자바 프로그램은 하나의 실행 클래스와 여러 개의 라이브러리 클래스들로 구성. 실행 클래스는 실행하며 라이브러리 클래스를 내부에서 이용

'JAVA > 이것이 자바다' 카테고리의 다른 글

클래스의 구성 멤버 (면접질문)  (0) 2023.04.21
객체와 클래스, 클래스 선언  (0) 2023.04.20
객체 지향 프로그래밍이란?  (0) 2023.04.20
환경 변수 설정  (0) 2023.04.17
JDK란?  (0) 2023.04.17