AI프로젝트 풀스택(Java, Python, React) 딥러닝(자연어처리) 개발자 양성과정
(스마트웹&콘텐츠개발) 프론트엔드 개발자(자바스크립트(javascript), 리엑트(React)) 실무 프로젝트
(디지털컨버전스) 데이터 융합 자바(JAVA) &스프링(spring)
(디지털컨버전스) 리엑트(React) 활용 프론트엔드 개발자 양성 (SPA 프로젝트 개발)
(디지털컨버전스) 데이터 융합 자바(JAVA) &스프링(spring) 개발자 양성과정
(디지털컨버전스) 리엑트 &타입스크립트 활용 프론트엔드 실무 양성(SPA와 REST API)
기업맞춤형 TDD기반의 풀스택(Java, Spring, Vue)개발자 양성과정
[과정평가형] 자바(JAVA)기반 개발자과정(정보처리산업기사자격취득)
[스마트웹&콘텐츠개발] PWA 제작 프론트엔드 개발 디지털인재 양성과정
[디지털컨버전스_원격혼합] 자바 &스프링 프레임워크 개발 양성과정
[파이썬]4차산업 Python IT소프트웨어 웹개발자
[파이썬]Python을 활용한 프로그래밍 사무업무자동화
(디지털디자인) UX/UI 반응형 웹디자인 &웹퍼블리셔(디자인&코딩)
[과정평가형] 웹디자인기능사 (웹디자인, 웹퍼블리셔) 실무자과정
[디지털디자인] 반응형 웹디자인(UIUX) &웹퍼블리셔 디지털 인재 양성과정
[디지털디자인]UI/UX 반응형 웹디자인 &웹퍼블리셔(디자인&코딩) 양성과정
[웹디자인기능사취득]반응형 웹디자인, 웹퍼블리셔 양성과정(HTML/CSS)
『단기속성』UI&UX 반응형 웹디자인&웹퍼블리셔(HTML,CSS,Javascript)
[온라인쇼핑몰]초보자도 가능한 포토샵, HTML을 활용한 상세페이지제작
(산대특)생성형 멀티모달 AI 기반 (포토샵,일러스트,인디자인) 편집디자인(양성)
(출판) 디지털 편집디자인 실무(포토샵,일러스트,인디자인)
(출판) 디지털 편집디자인(포토샵,일러스트,인디자인) 실무 양성
[출판_원격혼합] 디지털편집디자인(일러스트,포토샵,인디자인) 양성과정
[편집(시각, 광고)출판디자인] GTQ자격증 취득(포토샵, 일러스트, 인디자인)-A
시각디자인(Visual Design)산업기사 취득-과정평가형-비전공가능
시각&광고편집, 출판디자인(포토샵,일러스트) GTQ 자격증 취득
시각/편집디자인을 위한 GTQ(포토샵, 일러스트, 인디자인)자격증 과정
[편집(시각, 광고)출판디자인] GTQ자격증 취득(포토샵, 일러스트, 인디자인)-B
디지털콘텐츠서비스 그래픽제작(포토샵, 일러스트, 인디자인)과정
실무형 실내건축기사(캐드, 맥스, 스케치업)취득과정A-과정평가형-비전공가능
(BIM) 디지털 건축설계(캐드,레빗,스케치업,맥스) 실무 양성
실무형 실내건축산업기사(캐드, 맥스, 스케치업)취득과정B-과정평가형-비전공가능
[실내건축기사 취득] 실내건축전문가(캐드-AutoCAD, 맥스-3DS MAX)양성과정
실내건축전문가(캐드-AutoCAD,맥스-3DS MAX)양성과정[실내건축산업기사취득]
[과정평가형] 실내건축산업기사 취득 과정 (인테리어, 캐드(CAD), 맥스(MAX))
[BIM_원격혼합] 건축설계(캐드, 레빗, 스케치업, 맥스) 양성과정
실내건축디자인 [캐드(CAD),스케치업] 실무 양성과정
『오전』 건축설계(캐드)+전산응용건축제도기능사 자격증 취득
실내건축디자인(홈인테리어,캐드CAD, 스케치업) 양성과정
실내건축설계디자인(오토캐드CAD, 스케치업) 양성과정
(산대특)_트윈모션(VR)을 활용한 인테리어디자이너 양성 지원
(산대특)AI Runway&딥러닝을 활용한 업스케일링 숏폼(브랜딩) 영상콘텐츠 만들기(향상)
[과정평가형] 멀티미디어콘텐츠제작전문가(프리미어, 에프터이펙트, 시네마4D)포트폴리오 완성 A
(멀티미디어) 디지털 영상편집(프리미어 프로, 애프터 이펙트, 시네마4D)
[혼합훈련](멀티미디어) 디지털 영상편집(프리미어, 애프터이펙트,시네마4D)양성
[멀티미디어콘텐츠제작] 영상콘텐츠 제작&편집 디지털인재 양성과정
비전공도 가능! 영상편집실무양성 애프터이펙트(After Effect),프리미어(Premiere)
[혼합훈련](멀티미디어) 디지털 영상편집(프리미어, 애프터이펙트,시네마4D)양성
영상편집실무양성 애프터이펙트(After Effect),프리미어(Premiere)
유튜브(Youtube)영상편집 서비스(2D그래픽, 프리미어, 에펙)양성과정
디지털디자인 영상편집(일러스트, 포토샵, 프리미어, 에프터이펙트)
[영상편집]방송광고,마케팅,유튜브를 위한 디자인제작(프리미어,에펙)
[영상편집]방송광고,마케팅,모션그래픽을 위한 디자인제작 씨포디(C4D)
(산대특)AI(챗GPT)를 활용한 영상편집 과정(향상)
[영상편집]속성! 영상제작편집(시네마4D-Cinema 4D)기초
[영상편집]속성! 영상제작편집(에프터이펙트)기초
[영상편집]속성! 영상제작편집(프리미어프로)기초
영상편집(프리미어,에프터이펙트) 실무 과정
영상편집 광고(프리미어, 에프터이펙터)기초활용
광고콘텐츠제작향상(일러스트, 포토샵) 기본 실무
영상편집(프리미어,에프터이펙트) 실무 향상과정
영상편집 향상(premiere)프리미어,(after effect)에프터이펙트 기본,실무)
『평일』전산회계1급, 세무2급, FAT1급,TAT2급 자격증 취득-자체시험장운영
『평일』단기속성 전산회계1급, 전산세무2급 완벽대비-자체시험장운영
『10일 완성』 핵심요약! 컴퓨터활용능력2급 (필기+실기) 자격증 완벽대비
속성 컴퓨터활용능력1급 실기(엑셀,엑세스)자격증 취득과정
전산세무회계 자격증 취득과정(전산회계1급, 전산세무2급)
컴퓨터활용능력1급 필기+실기(엑셀,엑세스)자격증취득과정
[세무회계]단기속성합격 전산회계1급,2급 자격증 및 경리실무
[세무회계]단기속성합격 전산세무2급 자격증 및 경리실무
[세무회계]전산회계1급,전산세무2급,더존FAT1급자격증 및 경리실무
전산세무회계(전산회계1급,전산세무2급,FAT1급) 자격증취득-A
컴퓨터활용능력1급 필기/실기(엑셀,엑세스)자격증취득과정
사무행정ITQ(한글,파워포인트)컴퓨터활용능력(엑셀)실기 취득과정
[컴활1급]컴퓨터활용능력1급 필기&실기(엑셀,엑세스)OA실무 및 자격증
[컴활2급,ITQ]컴퓨터활용능력2급 필기&실기(한글,엑셀,파포)OA마스터
세무회계(전산회계(fat)1급, 전산세무(tat)2급) 자격증취득 양성과정
회계세무(전산회계1급,전산세무2급,TAT2급)실무자양성과정
안녕하세요! 그린컴입니다.
오늘은 sw프로그래밍 분야에서 자주 보이는 단어, 절차지향언어와 객체지향언어에 대해 알아보고 이 둘을 비교해보려고 합니다.
그럼 바로 시작하겠습니다~
절차지향언어 (Procedural Programming)
절차지향 프로그래밍에 쓰이는 언어를 절차지향언어라고 하며, 대표적인 예로는 c언어가 있습니다.
절차지향언어는 개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결되어야 합니다.
자동차 제조를 예로 들자면, 자동차는 엔진, 차체, 핸들, 의자, 바퀴 순으로 차례대로 만들어져야 합니다. 서로 분리되어도 안 되고, 순서가 틀려도 안 됩니다. 절차지향 프로그래밍 역시 이와 같습니다.
절차지향언어의 구조는 컴퓨터의 처리구조와 유사합니다. 따라서 실행 속도가 빠르다는 것이 장점입니다.
하지만, 핸들이 고장났다고 엔진부터 바퀴까지 전부 수리해야 한다면 얼마나 비효율적일까요?
소프트웨어가 눈부신 발전을 이루면서 절차지향언어의 단점이 두드러지게 됩니다.
절차지향언어의 단점
1. 유지보수의 어려움
모든 구성요소가 유기적으로 연결되어 있다는 말은, 하나가 고장났을 때 시스템 전체가 고장난다는 뜻입니다.
또한 문제를 해결하기 위해 일부분이 아닌 시스템 전체를 수리해야 한다는 말이기도 합니다.
절차지향언어는 이러한 유지 보수가 매우 까다로운 편이며, 특히 디버깅(프로그램의 문제를 찾아내어 고치는 과정)이 어렵습니다.
2. 엄격하게 순서가 정해져 있어 비효율적
실행 순서가 정해져 있기 때문에 코드의 순서가 바뀌면 결과가 달라질 가능성이 높습니다.
즉, 언어의 융통성이 부족하여 생산 효율이 떨어집니다.
이러한 절차지향언어의 단점을 보완하기 위해 객체지향의 개념이 등장합니다.
객체지향언어 (Object-oriented Language)
먼저 객체란 구체적인 사물, 혹은 사람이 될수도 있고 추상적인 개념이 될 수도 있는 무언가입니다.
컴퓨터로 예를 들자면, 컴퓨터에 쓰이는 모든 부품(모니터, 키보드, 스피커 등)과 컴퓨터가 제공하는 모든 기능(화면이 켜짐, 소리가 남 등)이 전부 객체입니다.
객체지향언어란 프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도록 만드는 프로그래밍 언어입니다.
컴퓨터의 모든 부품을 적절히 연결하고 조립해서 컴퓨터가 제대로 작동하도록 만드는 것이라고 볼 수 있습니다.
우리가 익히 들어 알고있는 자바, c++, 파이썬 이외에도 최초의 객체지향언어인 시뮬라67, 비주얼 베이직 닷넷, 액션스크립트, 스위프트 등 그 종류는 다양합니다.
객체지향언어의 특징
객체지향언어의 특징은 크게 캡슐화, 상속, 다형성, 추상화 4가지로 나눌 수 있습니다.
1. 캡슐화
데이터와 알고리즘을 하나로 묶어 하나의 캡슐처럼 만드는 것입니다. 이 특징 때문에 데이터와 코드의 형태를 외부에서 알 수 없습니다.
당연히 캡슐화되어있지 않은 데이터와 코드는 사용하기 어렵습니다.
2. 상속
부모가 자식에게 유전자를 물려주듯, 상위 클래스의 모든 것을 하위 클래스가 이어 받는 것입니다.
3. 다형성
상속과 연관된 개념으로, 하나의 객체가 다른 여러 객체로 재구성되는 것입니다.
부모가 쌍둥이 자식을 낳으면 부모의 유전자가 두 명의 자식으로 재구성되는 것과 같은 이치입니다.
하지만, 그렇다고 해서 두 쌍둥이(재구성된 객체들)의 유전자가 부모(원 개체)의 유전자와 똑같다고 볼 수는 없습니다.
자바의 오버로드, 혹은 오버라이드 다형성이 이 다형성을 드러내는 대표적인 예입니다.
4. 추상화
실존하는 객체의 여러 특성 중, 프로그램을 만드는데 필요한(공통적인) 부분만 파악해서 추출하고 필요하지 않은 것은 제거하는 것입니다.
객체지향언어의 장점
객체지향언어의 재사용성, 생산성 증가, 자연스러운 모델링이라는 장점이 있습니다.
1. 재사용성
\'상속\'이 가능하기 때문에 코드를 재사용할 수 있어 편리합니다.
2. 생산성 증가
컴퓨터가 고장났을 때, 문제가 되는 부품만 수리하면 다시 정상 가동됩니다.
마찬가지로 독립된 객체로 이루어져있기 때문에 생산적으로 작업할 수 있고, 유지 및 보수가 용이합니다.
3. 자연스러운 모델링
앞서 말했듯, 객체는 세상에 존재하는 모든 것입니다. 객체지향언어 자체가 우리가 사는 세상을 닮았기 때문에 개발자가 생각하는 대로 자연스럽게 구현할 수 있습니다.
객체지향언어의 단점
단점 역시 3가지입니다.
1. 느린 개발 속도
모든 객체의 역할과 기능을 이해해야 하기 때문에 프로그래밍에 많은 시간이 소요됩니다.
2. 느린 실행 속도
객체지향언어의 처리 속도는 절차지향언어보다 느립니다.
3. 높은 난이도
객체지향언어는 대체로 난이도가 높습니다. 특히 다중 상속이 지원되는 c++는 악명이 높습니다.
객체지향언어가 절차지향언어의 단점을 보완하고자 등장했다고 해서 무조건적으로 우수하다고 할 수는 없습니다.
구조와 특징이 명확히 다를 뿐, 어떻게 활용하느냐에 따라 다를 것입니다.
여기까지 객체지향언어와 절차지향언어에 대해 알아봤습니다. 궁금증이 좀 해결되셨나요?
그린컴퓨터아카데미/그린컴퓨터아트학원은 sw 개발을 비롯해 디자인, 전산 등 다양한 컴퓨터 기반 직종 훈련 프로그램을 운영하고 있습니다.
보다 자세한 내용은 홈페이지를 참조해주세요!