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 | 31 |
Tags
- Kotlin
- til
- 인스턴스
- react
- return
- MySQL
- JavaScript 이벤트
- continue
- 노개북
- 자바스크립트
- IT잡학사전
- 이클립스 설치
- Java
- CREATE
- 개발자 번아웃
- 제어문
- 리액트
- VS Code
- HTML
- 메서드
- 버전 표시 방법
- vscode
- Today I Learned
- break
- CSS
- 개발자북클럽
- 노마드코더
- while
- If
- JavaScript
Archives
- Today
- Total
윤제니
Java - 클래스 생성, 인스턴스와 참조변수, 힙 메모리 본문
클래스 생성
클래스형 변수이름 = new 생성자;
Student studentYun = new Student();
- new 예약어 사용 및 생성자 선언
- 클래스 자료형 변수 선언 -> new 예약어로 생성자 호출하여 대입 -> '새로운 클래스 생성'
- 클래스가 생성된다는 것 : 클래스를 실제 사용할 수 있도록 메모리 공간(힙 메모리)을 할당 받는다는 뜻
- 실제로 사용할 수 있도록 생성된 클래스 : 인스턴스 / 인스턴스를 가리키는 클래스형 변수 : 참조변수
인스턴스와 참조 변수
- '객체' : 객체 지향 프로그램의 대상 또는 생성된 클래스의 인스턴스
- '클래스' : 객체를 코드로 구현한 것
1) 인스턴스
- '인스턴스' : 클래스가 메모리 공간에 생성된 상태
- 클래스의 생성자 호출 => 인스턴스 생성
- 클래스는 하나이지만, 여러 개의 각각 다른 인스턴스를 생성 가능
2) 참조변수
참조변수.멤버변수
참조변수.메서드
studentYun.studentName="윤제니"; // 멤버변수(studentName) 사용
System.out.println(studentYun.getStudentName()); // 메서드(getStudentName()) 사용
- 참조변수를 사용하여 인스턴스의 멤버 변수와 메서드 참조하여 사용 가능
- 도트(.) 연산자 사용
힙 메모리
- 동적 메모리(dynamic memory)공간
- 객체가 생성될 때 사용하는 공간
- 사용이 끝나면 메모리를 해제해 주어야 하지만 자바에서는 가비지 컬렉터가 자동으로 메모리 해제해 준다.
- new Student()를 선언하면 Student 하나가 생성, 각 Student는 studentID, studentName등 멤버 변수를 가지고 있다.
- 멤버 변수를 저장할 공간이 필요 => 힙 메모리(heap memory)
- 클래스 생성자를 하나 호출하면 인스턴스가 힙 메모리에 생성되는 것
Student studentYun = new Student();
참조변수 인스턴스
=> 생성된 클래스를 studentYun 변수에 대입하면, 인스턴스가 저장된 메모리를 studentYun 변수가 가리킴.
지역변수 studentYun에 생성된 인스턴스를 대입하는 것 => studentYun에 인스턴스가 생성된 힙 메모리의 주소를 대입한다는 것
'Java' 카테고리의 다른 글
컬렉션 프레임워크 - 제네릭 (0) | 2020.09.11 |
---|---|
Java - 캡슐화, 인스턴스(Instance) 메서드, 접근 지정자, 생성자, 생성자 오버로드 (0) | 2020.05.11 |
Java - 객체 지향 프로그래밍. 클래스. 함수. return. 메서드. main()함수 (0) | 2020.05.06 |
Java - 조건문 if. if-else. if-else if-else. switch-case / 반복문 while. do-while. for. continue. break (0) | 2020.05.06 |
Java - 변수. 자료형. 상수. 형 변환. 연산자 (0) | 2020.05.06 |