[자바 무료 강의] 현실 세계에 존재하는 것을 객체로 만들다 - 클래스 - 코드라떼
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의현실 세계에 존재하는 것을 객체로 만들다 - 클래스최종수정일 2021-09-21
아이콘약 3분

현실 세계에 존재하는 객체를 프로그래밍의 세계의 객체로 만들기 위해서는 클래스라는 것을 만들어야 합니다. 클래스는 무엇일까요?

추가 노트

목차


  1. 클래스
  2. 인스턴스
  3. 객체, 클래스, 인스턴스의 차이




클래스


객체의 생성의 가장 첫 번째 단계는 클래스 생성입니다. 클래스는 class 키워드를 이용하여 클래스를 만들 수 있습니다.

class Person { }
copy

그리고 클래스를 통해 객체 인스턴스를 만들 수 있습니다.

Person person = new Person();
copy

맨 앞의 Person을 참조 자료형이라고 부릅니다.

우리가 여태까지 배웠던 byte, short, int, long, float, double, char, boolean기본 자료형(primitive type) 이라 부르지만 class를 통해 만들어진 자료형을 참조 자료형(reference type) 이라고 부릅니다. 참조 자료형은 우리가 알게 모르게 사용한 String, Scanner 등이 있습니다.

Person person;
copy

그리고 이러한 변수를 참조 자료형 변수라고 부릅니다.

int num;
copy

이러한 변수는 기본 자료형 변수라고 부릅니다.




인스턴스


자바 인스턴스

new 키워드를 통해 생성된 객체를 인스턴스라고 부르며 클래스를 인스턴스화했다고도 하고, 객체를 메모리에 적재했다고도 부릅니다. 다 유사한 의미입니다.

new Person();
copy

new라는 키워드는 새로 만든다는 의미입니다. 인스턴스는 생성될 때 마다 별도의 메모리 공간에 적재됩니다.

Person person1 = new Person(); Person person2 = new Person(); // person1 참조 자료형 변수에 저장된 인스턴스 참조값과 // person2 참조 자료형 변수에 저장된 인스턴스 참조값은 서로 다르다. // (인스턴스 끼리 적재된 메모리 공간이 다르다)
copy

예시로 메모리 주소가 같은 인스턴스 인지 확인해 보는 방법은 일반적으론 비교 연산자(==)를 통해 확인할 수 있습니다.

Person person1 = new Person(); Person person2 = new Person(); System.out.println(person1 == person2); // false
copy

두 변수는 서로 다른 인스턴스를 참조하고 있으므로 false가 출력됩니다.

Person person1 = new Person(); Person person2 = person1; System.out.println(person1 == person2); // true
copy

person1 참조 자료형 변수person2 참조 자료형 변수같은 인스턴스를 참조하고 있으므로 true가 출력됩니다.




객체, 클래스, 인스턴스의 차이


객체, 클래스, 인스턴스

객체

객체는 속성과 행위를 가지고 있는 물리적인 것을 포함하여 논리적인 어떤 것, 현실 세계에 존재하는 것을 프로그램으로 구현할 대상입니다.


클래스

클래스는 현실 세계의 객체를 프로그래밍의 세계로 가져와서 실제로 구현한 것입니다. 또한 클래스는 프로그램에서 사용할 인스턴스를 생성하기 위한 틀이라고 볼 수 있습니다.


인스턴스

클래스를 통해 객체를 메모리에 적재한 실체를 인스턴스라고 부릅니다. 그리고 참조 자료형 변수는 인스턴스에 접근할 수 있는 참조값을 저장할 수 있습니다.


관용적으로..

현업에서 엄밀하게 구분해서 얘기하기도 하지만, 대체로 용어를 혼합해서 사용하는 경우가 많습니다.
그래도 대충 무슨 의미인지 알아들을 수 있습니다.

"객체를 생성해라" -> "인스턴스 생성해라 또는 클래스 생성해라"
"객체를 설계하라" -> "클래스 설계해라"
"A객체의 B변수를 가지고.." -> "A클래스의 B변수를 가지고.."
등..

객체와 클래스와 인스턴스는 엄밀하게 구분하여 말해야 하는 상황이 아닌 이상 서로 간의 관계는 떼려야 뗄 수 없는 관계이기 때문에 머릿속에는 커다란 하나의 의미나 그림으로 인식됩니다. 그러므로 엄밀하게 구분하지 않아도 알아들을 수 있습니다.

도전자 질문
작성된 질문이 없습니다
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io
사업자등록번호 : 824-06-01921
통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호
파일
파일파일
Root
파일

Output
root$
Lesson List button
코스자바로 배우는 프로그래밍
hamburger button
강의현실 세계에 존재하는 것을 객체로 만들다 - 클래스최종수정일 2021-09-21
아이콘약 3분

현실 세계에 존재하는 객체를 프로그래밍의 세계의 객체로 만들기 위해서는 클래스라는 것을 만들어야 합니다. 클래스는 무엇일까요?

추가 노트

목차


  1. 클래스
  2. 인스턴스
  3. 객체, 클래스, 인스턴스의 차이




클래스


객체의 생성의 가장 첫 번째 단계는 클래스 생성입니다. 클래스는 class 키워드를 이용하여 클래스를 만들 수 있습니다.

class Person { }
copy

그리고 클래스를 통해 객체 인스턴스를 만들 수 있습니다.

Person person = new Person();
copy

맨 앞의 Person을 참조 자료형이라고 부릅니다.

우리가 여태까지 배웠던 byte, short, int, long, float, double, char, boolean기본 자료형(primitive type) 이라 부르지만 class를 통해 만들어진 자료형을 참조 자료형(reference type) 이라고 부릅니다. 참조 자료형은 우리가 알게 모르게 사용한 String, Scanner 등이 있습니다.

Person person;
copy

그리고 이러한 변수를 참조 자료형 변수라고 부릅니다.

int num;
copy

이러한 변수는 기본 자료형 변수라고 부릅니다.




인스턴스


자바 인스턴스

new 키워드를 통해 생성된 객체를 인스턴스라고 부르며 클래스를 인스턴스화했다고도 하고, 객체를 메모리에 적재했다고도 부릅니다. 다 유사한 의미입니다.

new Person();
copy

new라는 키워드는 새로 만든다는 의미입니다. 인스턴스는 생성될 때 마다 별도의 메모리 공간에 적재됩니다.

Person person1 = new Person(); Person person2 = new Person(); // person1 참조 자료형 변수에 저장된 인스턴스 참조값과 // person2 참조 자료형 변수에 저장된 인스턴스 참조값은 서로 다르다. // (인스턴스 끼리 적재된 메모리 공간이 다르다)
copy

예시로 메모리 주소가 같은 인스턴스 인지 확인해 보는 방법은 일반적으론 비교 연산자(==)를 통해 확인할 수 있습니다.

Person person1 = new Person(); Person person2 = new Person(); System.out.println(person1 == person2); // false
copy

두 변수는 서로 다른 인스턴스를 참조하고 있으므로 false가 출력됩니다.

Person person1 = new Person(); Person person2 = person1; System.out.println(person1 == person2); // true
copy

person1 참조 자료형 변수person2 참조 자료형 변수같은 인스턴스를 참조하고 있으므로 true가 출력됩니다.




객체, 클래스, 인스턴스의 차이


객체, 클래스, 인스턴스

객체

객체는 속성과 행위를 가지고 있는 물리적인 것을 포함하여 논리적인 어떤 것, 현실 세계에 존재하는 것을 프로그램으로 구현할 대상입니다.


클래스

클래스는 현실 세계의 객체를 프로그래밍의 세계로 가져와서 실제로 구현한 것입니다. 또한 클래스는 프로그램에서 사용할 인스턴스를 생성하기 위한 틀이라고 볼 수 있습니다.


인스턴스

클래스를 통해 객체를 메모리에 적재한 실체를 인스턴스라고 부릅니다. 그리고 참조 자료형 변수는 인스턴스에 접근할 수 있는 참조값을 저장할 수 있습니다.


관용적으로..

현업에서 엄밀하게 구분해서 얘기하기도 하지만, 대체로 용어를 혼합해서 사용하는 경우가 많습니다.
그래도 대충 무슨 의미인지 알아들을 수 있습니다.

"객체를 생성해라" -> "인스턴스 생성해라 또는 클래스 생성해라"
"객체를 설계하라" -> "클래스 설계해라"
"A객체의 B변수를 가지고.." -> "A클래스의 B변수를 가지고.."
등..

객체와 클래스와 인스턴스는 엄밀하게 구분하여 말해야 하는 상황이 아닌 이상 서로 간의 관계는 떼려야 뗄 수 없는 관계이기 때문에 머릿속에는 커다란 하나의 의미나 그림으로 인식됩니다. 그러므로 엄밀하게 구분하지 않아도 알아들을 수 있습니다.

도전자 질문
작성된 질문이 없습니다
이용약관|개인정보취급방침
알유티씨클래스|대표, 개인정보보호책임자 : 이병록
이메일 : cs@codelatte.io|운영시간 09:00 - 18:00(평일)
사업자등록번호 : 824-06-01921|통신판매업신고 : 2021-성남분당C-0740
주소 : 경기도 성남시 분당구 대왕판교로645번길 12, 9층 24호(경기창조혁신센터)
파일
파일파일
Root
파일

Output
root$