본문 바로가기
언어/JAVA

객체, 인스턴스

by 새벽물망초 2021. 11. 12.

🍒

public class Animal { }

->동물 이라는 클래스

 클래스의 선언만 있고 내용이 없는 껍데기뿐인 클래스

 

 

🍒

Animal cat = new Animal();

->객체를 만든다

new : 객체를 생성할 때 사용하는 키워드

Animal 클래스의 인스턴스(instance)인 cat, 즉 Animal의 객체가 만들어진다.

 

 

🍒

※ 객체와 인스턴스

클래스에 의해서 만들어진 객체를 인스턴스라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? 이렇게 생각 해 보자. Animal cat = new Animal() 이렇게 만들어진 cat은 객체이다. 그리고 cat이라는 객체는 Animal의 인스턴스(instance)이다. 즉 인스턴스라는 말은 특정 객체(cat)가 어떤 클래스(Animal)의 객체인지를 관계위주로 설명할 때 사용된다. 즉, "cat은 인스턴스" 보다는 "cat은 객체"라는 표현이 "cat은 Animal의 객체" 보다는 "cat은 Animal의 인스턴스" 라는 표현이 훨씬 잘 어울린다.

 

Animal cat = new Animal();

cat : 객체, animal의 인스턴스

 

클래스와 객체

객체 = 속성 + 기능

 

class Tv {

//변수(속성)

String color; //색깔

boolean power; //전원상태

int channel; //채널

 

//메서드(기능)

void power () { power= !power; }

void channelUp() { channel++; }

void channelDown() { channel--; }

 

객체 : 모든 인스턴스

인스턴스 : 특정 클래스로부터 생성된 객체(ex. Tv  인스턴스)

 

클래스(설계도) ------------> 인스턴스(객체),(제품) 

                    인스턴스화

 

 

student클래스 =  설계도, 틀

이것을 통해 new연산자로 객체를 만들어 낼 수 있음 -> st1, st2, st3..

st1에는 studentName, st2에 studentName,.. 각각 독립적으로 존재하게 됨

그런데 serialNum은 하나만 만들어지도 st1, st2, st3..를 공동으로 갖게 됨 -> static이 있어야 이렇게 됨

 

★아파트 집 방문들을 열어놓는거와 같다. 그러나 현관문은 잠가야 함

class내부에서는 접근제어자에 대한 고려x, 외부와 내부 완전 따로

'언어 > JAVA' 카테고리의 다른 글

[JAVA] 클래스, 상속, 생성자  (0) 2022.07.12
getter/setter 메소드  (0) 2022.04.04
연산자  (0) 2022.02.18
[eclipse 오류] 0x80010135 : 경로가 너무 깁니다  (0) 2022.01.07
상속  (0) 2021.12.03

댓글