티스토리 뷰

클래스(Class) : 객체를 정의 해 놓은 것

blueprint.. 설계도를 떠올려 보자!

비유를 들자면, blueprint 즉, 청사진이 된다. 설계도의 역할을 해주는 것이 바로 클래스(Class)이다.

객체를 생성하는 데 사용함.

 

 

객체(Object) : 클래스에 선언된 모양 그대로 생성된 실체

 

우리가 주변에서 볼 수 있는, 떠올려 볼 수 있는 실존하는 사물들.. 과일,의자,컴퓨터 등..을 비유로 들 수 있다.

객체(Object)의 정의 : 실제로 존재하는 것, 사물 또는 개념.

객체는 객체가 가지고 있는 기능과 속성에 따라 다르다. (예시로 자동차를 생각해 보자!) 

 

인스턴스(Instance) : 객체를 소프트웨어에 실체화 한 것

이미지 출처 - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=satyee&logNo=140128005527

 

실체화된 인스턴스는 메모리에 할당된다.

인스턴스는 객체에 포함된다고 볼 수 있다. 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스'라고 부른다.

추상적인 개념과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용한다.

  • 객체는 클래스의 인스턴스
  • 객체 간의 링크는 클래스 간의 연관 관계의 인스턴스
  • 실행 프로세스는 프로그램의 인스턴스
/* 클래스 */
public class Junkfood {
  ...
}
/* 객체와 인스턴스 */
public class Main {
  public static void main(String[] args) {
    Junkfood icecream, coke ; // '객체'

    // 인스턴스화
    icecream = new Junkfood(); // icecream은 Junkfood 클래스의 '인스턴스'(객체를 메모리에 할당)
    coke = new Junkfood(); // coke은 Junkfood 클래스의 '인스턴스'(객체를 메모리에 할당)
  }
}

 

 

이렇게 생각해 보자!

 

막대 아이스크림을 정의 해 보면,

  • 막대에 달려있는 아이스크림
  • 달콤하고 시원하다.
  • 먹기가 편하다
  • 틀 종류에 따라 모양이 다르다.

 

 

 

등의 정의를 내려볼 수 있다.

이때, 이렇게 아이스크림을 떠올리며 생각한 것을 정의해 놓은 것을 클래스(Class)라고 하고, 실제로 아이스크림 틀에 의해 가공되어 만들어진 막대 아이스크림을 객체(Object)라고 한다.

 

 

 

틀(Class)형태마다 각각 다른 아이스크림(객체:Object)가 나온다!

 

아이스크림 틀 >> 클래스(Class)가 되는 것이고,

막대 아이스크림 >> 객체(Object)가 된다.

 

 

 

 

 

 

해당 수업은 '스마트인재개발원'에서 '지능형IoT 융합SW 전문가과정(NCS)과정'에서 진행한 교육내용입니다.

 

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

 

댓글