본문 바로가기

프로그래밍 패러다임11

OOP.2.추상화와 캡슐화 - 1 이번 글에서는 객체지향의 4가지 특징중 두개인 추상화와 캡슐화에 대해서 다루어 보겠습니다. 객체, 클래스, 인스턴스는 엄밀하게 서로 미묘한 차이를 가지지만, 일반적으로 대화하거나 소통시에는 비슷한 의미로 많이 통용되는 경우가 많습니다. 하지만 본 글에서는 추상화의 원활한 설명을 위해서 차근차근 용어부터 정리하면서 시작하도록 하겠습니다. 1) Object 객체 드디어 객체 지향 프로그래밍 이라는 큰 제목을 일부 설명할 수 있는 '객체(Object)'에 대한 이야기가 나왔습니다. 객체는 실제 세상에 존재하는 사물이나 개념을 의미해요. 수많은 사물이나 개념들 중 내가 시스템으로 옮길 대상을 의미합니다. 피트니스 짐, 헬스장을 시스템으로 옮긴다고 생각해볼까요? 트레이너도 객체가 될 수 있고, 회원도 객체가 될 .. 2023. 7. 5.
OOP.1.객체 지향이란 무엇이며 왜 사용하는가? 객체지향은 1970년대 앨런 케이로부터 시작되어... 얼른 주변 사람 10명에게 이 글을 보여주지 않으면 불행이 찾아올 것 같은 행운의 편지 스타일의 서론은 접어두고, 좀 더 본질적인 질문을 던져보고 싶습니다. 대체 프로그래밍은 무엇이며 우리는 왜 프로그래밍을 하는 것일까요? 답은 간단합니다. 사람이 할 일을 컴퓨터에게 시키고 싶은거죠. 대규모 언어모델이 발전하면서 인간의 언어로 컴퓨터와 소통하고 컴퓨터가 알아서 모든걸 해줄 것 같은 시대가 다가오고 있는 느낌이지만, 아쉽게도(저 같은 개발자 지망생에게는 다행이게도) 여전히 컴퓨터는 인간이 시킨 일 만 수행할 줄 아는 기계입니다. 또, 컴퓨터에게 일을 시키기 위해선 여전히 컴퓨터가 이해할 수 있는 언어로 대화를 시도해야 하죠. 기계어를 할 줄 아는 인간은.. 2023. 7. 4.
Object Oriented Programming(객체 지향 프로그래밍) Naver Cloud 개발자 양성과정 2기를 마치고, 취업준비를 하면서 그 동안 메인 프로젝트 때문에 바쁘다는 핑계로 차일피일 미뤄 왔던 기술 블로그 작성을 해보려 합니다. 제가 트레이너로 근무하던 시절.. 비록, 삼류 트레이너였지만 한 가지 철학이 있었습니다. 바로 ' 기록없이는 기준이 없고, 기준이 없이는 성장이 없다 ' 라는 철학 이었습니다. 그리고 지금도 이 생각엔 변함이 없어요. 그래서 지금부터 기록을 시작해 나갈텐데요! 첫 번째 주제로 가장 기본 개념 중의 기본인 객체 지향 프로그래밍을 선택했습니다. OOP란 무엇이며 왜 OOP를 사용하는가? 객체 지향의 4가지 특징 추상화(Abstraction) 다형성(Polymorphism) 상속(Inheritence) 캡슐화(Encapsulation) 객.. 2023. 7. 3.