티스토리 뷰

오늘은 프로그래밍에서 추상화의 개념과

추상클래스, 인터페이스 등에 대해 알아보고자 한다.

바실리 칸딘스키 Wassily Kandinsky 의 추상화. 오늘 배울 추상화 와는 관련 없다.

 

우리가 '추상(abstract )'의 개념을 알기 위해서는 

클래스와 상속의 개념을 꼭 알아야한다.

 

클래스와 상속 개념 쉽게 배우러가기 ☜

 

비전공자도 이해하는 클래스(class), 객체(object) 그리고 상속의 개념 (feat. 양념치킨)

전문용어를 이해하기 위해 전문용어를 사용하는 IT전공자들의 설명만 들어왔던 당신에게 도움이 되기를 바라며. 오늘은 클래스란 무엇인지, 상속이란 무엇인지 왜 프로그래밍에서 클래스를 사

justdoitman.tistory.com

 

일단, 저번에 배운 클래스와 상속에 대해 복습해보면,

  1. 우리는 '치킨'을 정의함 으로써 '치킨'이라는 클래스(class)를 만들었고
  2. 치킨의 정의에 의해 실제 만들어진 치킨, 즉  객체(object)가 무엇인지 알아보았으며
  3. 치킨 클래스를 상속받은 '양념치킨'이라는 클래스를 새롭게 정의해 봤었다.

하지만 기존에 클래스를 만드는 방법에는 한가지 문제 발생

그것은 클래스를 만들때, 즉 정의를 내릴때 사람마다 제각각 다르게 할 수 있다는 것

 

예를들어 

치킨은 기름에 튀겨야지만 치킨이 될 수 있는지

아니면 찖닭도  치킨이라고 할 수 있을지

이러한 정의가 사람마다 다를 수 있음

 

사람마다 정의가 다르면 오해가 발생!!!

이때 추상의 개념(abstract) 등판!!!

 

추상은 관련된 클래스를 만들때,

반드시 미리 정의된 내용을 모두 상속 받도록 하는 일종의 "제도화" 같은 것이다.

 

즉, 현실세계에서 찜닭을 치킨이라고 부르든 말든 아무런 제약이 없지만

법에서 치킨을 "튀긴 음식"으로 정의하게 되면, 찜닭은 치킨이라고 할 수 없다! 

 

추상화가 되면, 관련 클래스를 정의할 때는 반드시 룰을 따라야한다.

 

끝.

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함