티스토리 뷰

전문용어를 이해하기 위해 전문용어를 사용하는 IT전공자들의 설명만 들어왔던 당신에게

도움이 되기를 바라며. 

 

오늘은 클래스란 무엇인지, 상속이란 무엇인지

왜 프로그래밍에서 클래스를 사용하는 것인지 알아보겠다.

 

오늘 배울내용

  • 클래스의 개념이 무엇인지 이해한다.
  • 객체의 개념이 무엇인지 이해한다.
  • 클래스의 상속에 대해 이해한다.

아래 것을 미리 알고있다면 더더욱 좋을지도??

선행적으로 알면 좋은 것 링크
객체지향의 개념 객체지향개념 알아보러 가기 ☜

 

클래스(class)란? 

클래스란 간단하게 어떤 대상을 정의하기 위한 정보의 집합체 인데, 예시를 통해 이해하면 더 좋을 것 같다.

 

"태초에 치킨이 있었다."

 

뜬금 없지만 :) 당신은 이제 치킨의신 "치느님"이 되었다.

'치킨'이 존재하지 않는 암울한 시기... 당신은 이세상에 '치킨'을 만들어 내야하는 사명이 있다.

 

아무도 치킨이라는 것을 모르는 상태에서 치킨을 만들려면 우리는 먼저 무엇을 해야할까?

그것은 '치킨'이라는 개념을 먼저 정의하는 것이다.

즉, 무엇을 치킨이라고 해야하는가?에 대한 내용을 만들어야 하는 것이다.

 

치킨이란?

닭에 밀가루를 뭍혀 기름에 튀기는 방법으로 익혀서 만든 음식
겉은 바삭하고 속은 부드러우며, 남녀노소 누구나 좋아함

만약 누군가, 오븐에 구운 치킨도 있지 않나? (ex 굽네치킨) 라고 할 수 있겠지만 

애초에 우리들은 창조의 과정에 있는 것이고 실제 존재하는 정의를 따를 필요는 없다.

고로 지금 내가 내린 치킨의 '정의'에서는 오븐에 구운 닭요리 따위는 치킨으로 인정 받지 못한다 하하하핳 

 

중요한 것은 우리가 지금 막 이 세상에 [치킨]이라는 '클래스'를 만들었다는 사실이다!!

 

객체(object)란? 

객체는 실제 존재하는 대상을 말한다.

앞서 치느님인 당신은 '치킨'이 무엇인지 정의를 내렸다. 즉, [치킨]이라는 클래스를 만들었다.

 

하지만, 치킨이라는 개념을 만든 것 만으로 우리는 치킨을 먹을 수 없다!!!

이제 필요한 것은 이러한 개념을 바탕으로 '실제' 치킨을 만드는 것이다

 

우리는 치킨의 정의에 따라 닭을 준비해서 밀가루를 뭍히고 기름에 튀기는 작업을 통해

실제 치킨을 만들어 낸다.

 

그렇게 만들어진 치킨을 우리는 객체(object)라고 부른다!! 

치킨이 만들어 졌다!!

이렇게 만들어진 객체는 우리가 정의했던 그대로의 속성을 가지게 된다.

예를들어, '겉바속촉' 이라던가 '남녀노소 누구나 좋아하는' 이라던가.

 

지금까지 배운 클래스와 객체의 관계를 보면 아래와 같다.

'클래스'라는 개념이 실체적으로 구현된 것이 '객체'

 

클래스(class)의 상속이란? 

이제 클래스의 주요 개념중 하나인 상속을 알아보자, 

뭐 IT를 조금 공부했던 사람은 캡슐화나 이런걸 들은게 있겠지만, 위의 그림에서 클래스를 둘러싼 막을 캡슐화 한 것이다 정도로만 이해해도 되지 않을까 조심스럽게 생각해본다 (사실 나도 그 이상은 모름 ㅋ)

 

다시 본론으로 돌아가서 상속의 개념을 배우기 위해서는 이제 치킨의 개념을 확대해야 한다.

 

치느님인 당신은 기본적인 치킨에 여러가지 요소를 추가하고 싶어졌다.

예를들어 양념치킨!! 그리고 간장치킨!!

 

 

 

그리고...

 

여튼 이제 '치킨'을 베이스로한 여러가지 치킨을 만들고 싶어진 것이다.

 

우리가 아무리 새로운 종류의 치킨을 만든다고 해도, 모든 치킨은 우리가 정의했던

'치킨'의 범주안에 포함하게 되며, '공통적'인 특징을 지니게 된다. 

 

따라서 우리가 '양념 치킨'을 새롭게 정의할때, 모든것을 처음부터 다 정의할 필요가 없이

기존의 '치킨'의 정의에다가 추가되는 부분만 수정하면 새롭게 "양념 치킨" 이라는 개념(클래스)를 만들어 낼 수 있는 것이다.

 

이렇듯, 새로운 클래스를 만들 때 기존에 존재하던 클래스의 내용을 가져와서 사용하는 것을

 

우리는 '상속' 이라고 한다.

 

 

끝.

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함