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
- 정처기예상문제
- 소프트웨어설계
- 게시판프로젝트
- 소프트웨어개발
- PYTHON
- 정처기공부
- 게시판만들기
- 스프링부트
- 이것이자바다
- 스프링
- CRUD구현
- 파이선
- 자바의정석요약
- 게시판
- CRUD
- 자바
- 정처기설명
- springboot
- 파이썬
- 코딩테스트
- spring
- 자바의정석
- 프로그래머스
- 정보처리기사
- 정보처리기사필기
- function
- java
- 정처기필기
- 어노테이션
- 정처기
Archives
- Today
- Total
Helmi
객체 생성과 클래스 변수 본문
클래스로부터 객체 생성하려면 객체 생성 연산자인 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 |