상세 컨텐츠

본문 제목

[java 기본] 이해하기 쉬운 자바_클래스(class), 인스턴스란?

java_자바

by 쫑메이 2020. 6. 1. 20:07

본문

 

 

 


 

 

 

 

 

 

자바(java) 언어 중에 기본 중의 기본

바로 클래스와 인스턴스

그림을 그리는데 도화지 같은 바탕이 개념이니

잘 보시면 좋겠어요~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

자바_클래스(class)란?

클래스는 설계도, 객체는 제품

프로그램에서_ 객체는 인스턴스

(즉, 객체=인스턴스)

 

 

 


 

 

 

클래스(class) 정의

 

-클래스는 하나의 데이터 타입이 되며 제품의 틀로서 동작,

이 틀에서 나온 제품을 객체라 하며, 클래스의 정의대로 생성된다

 

- 객체 분석 결과물을 토대로 설계도에 해당하는 클래스를 정의

- 클래스 내에는 객체의 속성을 저장할멤버 변수를선언하고,

객체의 동작을 정의할 메서드를 정의한다.

 

 

-아직 실체를 갖는 객체(= 인스턴스)가 아니므로 변수에 값을 저장할 필요는 없다.

(단, 필요에 따라 저장도 가능)

-클래스명은 관례상 첫 글자는 대문자로 한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

클래스(class)_기본 문법

 

 

 

[접근 제한자] class 클래스명 {

멤버 변수

메서드

}

 

 

 

 

 

 

 

 

 

 

 

 

 

정의된 클래스에 대한 인스턴스(객체) 생성

 

정의된 클래스에 대한 인스턴스(객체) 생성 = 구현 단계

- 힙(Heap) 메모리 공간에 인스턴스를 생성하여,

생성된 인스턴스의 주솟값을 참조형 변수에 저장하여,

참조 변수를 통해 인스턴스에 접근하도록 함.

 

 

 

 

 

 

 

 

 

 

 

 

 

인스턴스 생성_ 기본 문법

 

클래스명 참조 변수명 = new 클래스명( );

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

클래스(class)의 인스턴스 생성_예시

 

 

[Animal 클래스의 인스턴스 생성]

Animal ani; =>Animal 클래스 타입 참조 변수 선언

ani=new Animal( ); =>Animal 인스턴스 생성 후 생성된 주소를 참조 변수에 전달

선언과 인스턴스 생성이 분리된 문장을 하나로 결합할 수 있다

Animal ani=new Animal();

 

 

 

 

 

 

<클래스의 인스턴스 생성_예시>

 

 

 

 

 

 

 

 

 

 

 

 

 

인스턴스의 멤버에 접근하는_ 기본 문법

 

 

참조 변수명. 멤버 변수명 또는 참조변수명.메서드명( ) 형태로 접근

 

<인스턴스 멤버에 접근하는 기본 문법>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

하나의 java 파일_ 여러 개의 클래스 가능

 

하나의 java 파일에 여러 개의 클래스를 정의할 수도 있다!

단, java 파일 이름과 동일한 클래스 앞에 public이 붙지만

그 외의 클래스는 public 키워드를 제외하고 클래스 정의해야 함

 

 

 

 

 

 

 

 

 


<예시>

[학생(Student) 클래스 정의]

속성 : 학번(id, 정수형), 이름(name, 문자열), 학과명(className, 문자열)

class Student {

int id;

String name;

String className;

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

jvm의 메모리 영역_3가지

 

jvm의 메모리는 크게 3가지 부분으로 나뉜다

 

 

1. 클래스 영역- 클래스의 영역이 올라가는 곳으로 원본이 저장되는 곳,

Method Area, Static Area, Code Ara로 불린다

 

2. 스택 영역- 메서드 호출 때마다 로컬 변수들이 쌓이는 영역,

로컬 변수란?객체의멤버 변수(인스턴스 변수)가 아닌 변수

호출된메서드의 매개변수나 매서드 내부에 선언된 변수

 

3. 힙 영역-new 키워드로생성된 객체가 저장되는 공간

 

 

 

 

 

 

<jvm 메모리 영역>

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한게 많으니

 

 

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 

 


 

 

반응형

관련글 더보기