///////
Search

07_클래스와객체(1)_김지수

객체
instance
객체 생성
8가지 데이터 타입이외에도 참조형 타입이 있다.
객체는 참조형 타입이다.
int[] → 이것도 참조형이다. (중요)
int배열이라고 해서 int형이 아니다.
배열은 주소를 담고 있다.
jvm은 메인 메소드부터 실행한다.(중요)
메인 메소드를 실행하면서 참조형 타입의 변수가 있으면 주소지를 받아 데이터를 받는다.
객체는 .class의 설계도면대로 메모리할당을 하고 데이터를 메모리에 올린 것을 말한다.
String도 객체이다.
클래스
변수와 함수가 들어 있는 구조가 기본적인 클래스 구조이다. (필드, 메소드 부분으로 나뉘어져 있다.)
클래스를 컴파일을 한 .class파일이 객체의 설계도면.
클래스명에 _쓰지 말자.
클래스 정의 후 객체 생성
참조형도 메모리의 양, 무슨 값이 대입되는지 정해진다.
용량을 몇 바이트 잡는지
뭐가 들어가는지
jvm은 32bit 시스템 그래서 참조형 데이터 타입은 4byte 주소값이 들어간다.
참조형 타입은 메모리에 있는 주소를 참조한다.
클래스 안의 메소드는 컴파일이 되고 실행이 되면 heap이라는 메모리에 올라간다.
함수는 4byte이다. 참조형이기 때문이다.
obj = new Circle(); 이렇게 객체를 생성하면 obj는 생성된 객체의 주소를 가리킨다.
new Circle을 하면 메모리에 객체가 생성된다.
obj에 생성된 객체의 주소값을 대입한다.
A a = new A();
class A{ int a; int b; public void c(){} } main(){ A a = new A(); }
Java
복사
대입 되기 전 주소를 담을 a라는 메모리를 할당
new A() 가 실행되면 메모리에 클래스의 필드 메소드를 담을 메모리를 할당
c도 객체 a와 똑같이 참조형 타입이므로 함수가 있는 어딘가의 주소를 가지고 있다.