CWN(CHANGE WITH NEWS) - 개발 공부, 용어 이해부터 시작해야 한다...개발 용어 정리

  • 흐림정선군19.1℃
  • 흐림안동21.5℃
  • 비홍성22.7℃
  • 비청주22.6℃
  • 비북춘천19.9℃
  • 구름많음북창원25.3℃
  • 흐림의성21.6℃
  • 흐림강진군25.2℃
  • 흐림영천22.2℃
  • 흐림대관령17.0℃
  • 흐림춘천19.5℃
  • 흐림금산21.8℃
  • 구름많음통영26.7℃
  • 흐림원주20.3℃
  • 흐림부안25.0℃
  • 흐림보은22.5℃
  • 구름많음남원25.9℃
  • 비북강릉20.1℃
  • 흐림부여22.6℃
  • 구름많음산청22.7℃
  • 비포항23.3℃
  • 흐림세종21.8℃
  • 흐림울진21.4℃
  • 흐림보성군24.2℃
  • 흐림이천20.1℃
  • 흐림보령26.1℃
  • 흐림완도25.9℃
  • 구름많음양산시24.9℃
  • 흐림광양시23.6℃
  • 구름많음고산28.3℃
  • 흐림동두천19.2℃
  • 비흑산도25.3℃
  • 흐림밀양23.3℃
  • 흐림영월19.8℃
  • 흐림서산23.8℃
  • 흐림철원19.5℃
  • 흐림전주25.4℃
  • 흐림충주21.7℃
  • 흐림대구22.7℃
  • 흐림임실23.2℃
  • 구름많음순천22.8℃
  • 비수원20.5℃
  • 구름많음진주22.1℃
  • 비백령도19.8℃
  • 흐림서청주20.6℃
  • 흐림강화19.5℃
  • 흐림인제19.0℃
  • 흐림천안21.5℃
  • 비울릉도21.7℃
  • 구름많음여수24.3℃
  • 흐림봉화20.4℃
  • 흐림영덕21.5℃
  • 흐림경주시22.6℃
  • 구름많음순창군25.2℃
  • 박무울산22.3℃
  • 흐림진도군27.8℃
  • 구름많음남해23.0℃
  • 흐림고창군25.8℃
  • 흐림추풍령21.4℃
  • 비광주24.5℃
  • 흐림부산25.9℃
  • 흐림파주19.1℃
  • 구름많음김해시24.9℃
  • 흐림고흥23.9℃
  • 흐림강릉20.6℃
  • 흐림함양군22.0℃
  • 흐림고창25.3℃
  • 흐림의령군21.9℃
  • 흐림장수23.1℃
  • 흐림성산27.6℃
  • 비인천20.5℃
  • 흐림구미22.4℃
  • 흐림영광군25.7℃
  • 흐림양평20.1℃
  • 흐림동해21.2℃
  • 흐림합천22.8℃
  • 흐림영주20.7℃
  • 비서울20.4℃
  • 흐림서귀포26.5℃
  • 흐림제천19.8℃
  • 흐림정읍26.6℃
  • 흐림태백18.5℃
  • 비목포25.7℃
  • 구름많음해남27.3℃
  • 흐림거창21.6℃
  • 흐림장흥25.5℃
  • 흐림홍천19.7℃
  • 구름많음창원24.4℃
  • 구름많음거제26.3℃
  • 흐림청송군21.6℃
  • 구름조금제주26.9℃
  • 흐림상주21.1℃
  • 흐림대전21.8℃
  • 흐림북부산24.6℃
  • 흐림문경20.9℃
  • 흐림군산23.9℃
  • 흐림속초20.4℃
  • 2025.09.13 (토)

개발 공부, 용어 이해부터 시작해야 한다...개발 용어 정리

박기림 / 기사승인 : 2021-01-26 03:48:28
  • -
  • +
  • 인쇄

프로그래밍을 배우다 보면 많은 개발 용어가 등장한다. 대부분이 영어 단어를 줄인 표현이기 때문에 혼동하기 쉽다.

게다가 가장 곤란한 점은, 분명 기초부터 배우려고 책을 샀는데, 용어에 대한 구체적인 정의가 없이 개발과 관련된 내용을 설명만 이어지는 때가 많다. 설명을 위한 설명이 필요해지는 것이다.

그래서 개발 공부를 하면서 자주 접하게 되는 몇 가지 용어들을 추려서 최대한 직관적으로 설명해보려 한다. 용어 정의는 각종 웹 개발 용어 사전과 깃허브 등을 참고해서 아래와 같이 간단하게 설명한다.

객체와 인스턴스
객체 지향 언어에서, 클래스 타입으로 선언된 것이 객체이고 하나의 객체를 통해 만들어진 개체를 인스턴스라고 한다. 즉, 인스턴스는 메모리에 주소 값을 할당받고 실제로 사용하기 위해 만들어진다는 점에서 객체와 차이가 있다.

프로토타입 기반 프로그래밍과 객체 지향 프로그래밍
객체 지향 프로그래밍은 단어 그대로 해석할 수 있다. 따라서 클래스와 그에 속하는 속성과 메소드를 잘 정의하는 것이 중요한 프로그래밍 기법이다.

프로토타입 기반 프로그래밍은 이와 달리, 클래스를 명확히 정의하지 않아도 되는 프로그래밍 기법이다. 제품을 출시할 때 미완성된 초기 제품을 '프로토타입'이라고 부르는 것을 생각해보면 쉽게 이해할 수 있다.

덧대어, 여기서는 프로토타입 기반 프로그래밍을 설명하기 위해 객체 지향 프로그래밍과 함께 설명하였다. 하지만, 일반적으로 객체 지향 프로그래밍은 순차적인 명령어의 처리에 집중하는 '절차 지향 프로그래밍'과 비교하여 설명한다.

프로세스와 스레드
프로세스는 '메모리에 적재되어 실행되고 있는 프로그램'을 뜻한다. 스레드는 프로세스에 속하는 의미이다. 스레드는 '프로세스 내에서 실행되는 여러 흐름의 단위'인데, 즉 프로세스가 동작하는 실행의 단위라는 뜻이다. 하나의 프로세스 안에서 여러 스레드가 동작할 수도 있다. 이를 '멀티스레드'라고 부른다.

동기 방식과 비동기 방식
1번 작업과 2번 작업이 있을 때, 이를 순차적으로 실행하는 것을 '동기 방식'이라고 한다. '비동기 방식'은 1번 작업을 진행하다가 잠시 기다려야 하는 상황이 오면 기다리지 않고 2번 작업을 실행하는 방식이다.

세션과 쿠키
우리가 로그인하려 할 때, 한 번 들렀던 사이트라면 아이디와 비밀번호가 저장된 있는 경우가 종종 있다. 이것이 세션과 쿠키의 역할이다.

다만, 세션은 서버 측의 저장소를 이용하고, 쿠키는 클라이언트 측의 저장소를 이용한다는 차이가 있다. 즉, 세션에 저장된 정보가 더 보안 등급이 높은 정보라고 볼 수 있다.

부트스트랩
프로그램이나 시스템을 실행할 때 적재되는 프로그램을 뜻한다. 흔히들 사용하는 '부팅(booting)'이 부트스트래핑(bootstrapping)의 줄임말이다. 예를 들어, 컴퓨터를 켤 때 '부팅이 느리다'고 표현함은 컴퓨터가 시작될 때 실행해야 하는 프로그램들(운영체제 등)이 메모리에 적재, 실행되는 속도가 느리다는 의미이다.

API
'Application Programming Interface'의 약자다. 프로그램이나 시스템을 구축하는 데 사용하는 도구이다. 예를 들어, 구글 API라고 하면 구글에서 제공하는 기능을 사용할 수 있도록 만들어 놓은 인터페이스를 말한다.

IDE
'Intergrated Development Environment'의 약자다. 사용자가 수월하게 소프트웨어를 개발할 수 있도록 하는 통합 개발 환경을 뜻한다. 개발에 필요한 인터페이스, 코드 편집기, 디버거, 컴파일러, 인터프리터 등을 포함한다. 우리가 자주 사용하는 Visual Studio, Eclipse 등을 예시로 언급할 수 있다.

DNS
'Domain Name System'의 약자다. 코딩월드뉴스 사이트에 들어올 때, 'www.cwn.kr'라는 주소를 통해 들어올 수 있다. 이 주소를 'Domain Name'이라고 하며, 이 DNS는 사용자가 입력한 인터넷 주소를 컴퓨터가 실제로 이해할 수 있는 IP 주소로 변환해주는 역할을 한다.

Parsing
웹페이지에서 내가 원하는 데이터를 특정 양식으로 추출하여 가공하는 것을 뜻한다. 예를 들어, 코딩월드뉴스의 기사 제목들을 데이터로 가공하여 분석하고 싶다면 Parsing을 통해 기사 제목들을 추출할 수 있다.

DOM
'Document Object Model'의 약자다. HTML 혹은 XML 문서를 조작할 수 있게 만드는 API이다. 웹페이지를 구성하는 요소들을 변수로 만들어 조작할 수 있도록 한다.

CORS
'Cross-Origin Resource Sharing'의 약자다. 기본적으로 인터넷 환경(HTTP 환경)에서 다른 사이트 간에 존재하는 재료(이미지, 텍스트 등)들을 서로 참조할 수 있다. 그러나 브라우저에서는 보안상의 이유로 올바른 CORS header, 즉 알맞은 비밀번호를 포함하지 않는 한 다른 사이트의 정보를 가져올 수 없다.

DevOps
소프트웨어 개발과 운영 사이의 의사소통, 협업을 강조하여 하나의 팀으로 묶어 놓는 조직 구조이자 문화이다.

MVC
'Model View Controller'의 약자다. 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. MVC 패턴으로 개발 단계에서 업무를 분리하여 진행할 수 있다. 예를 들어, 웹페이지를 만들면서 백엔드의 데이터를 '모델', 프론트엔드를 '뷰', 이 둘을 잘 이어서 흘러가게 하는 것을 '컨트롤러'라고 구분지을 수 있다.

지금까지 개발 공부를 하면서 접하는 개발 용어들에 대해 알아보았다. 용어를 이해하면서 정확한 개념을 습득하는 데 도움이 되었길 바란다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue