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

  • 구름많음군산23.6℃
  • 구름많음전주25.2℃
  • 구름많음부안24.3℃
  • 맑음이천20.1℃
  • 구름많음장수21.9℃
  • 구름많음인제19.7℃
  • 구름많음장흥23.7℃
  • 맑음동두천20.7℃
  • 구름조금해남23.4℃
  • 맑음대관령16.6℃
  • 구름많음경주시23.6℃
  • 구름많음고창24.4℃
  • 맑음인천24.6℃
  • 맑음북춘천19.5℃
  • 박무홍성22.0℃
  • 맑음제주26.7℃
  • 구름조금합천23.6℃
  • 구름조금북창원25.5℃
  • 구름조금진도군24.2℃
  • 흐림남원23.0℃
  • 흐림거창22.6℃
  • 구름조금목포25.3℃
  • 맑음고산26.2℃
  • 구름많음의령군22.7℃
  • 맑음서울24.0℃
  • 맑음강화21.2℃
  • 맑음수원23.3℃
  • 구름조금포항25.4℃
  • 구름많음동해23.7℃
  • 구름많음보은22.1℃
  • 구름많음정읍24.5℃
  • 구름많음보령23.0℃
  • 맑음파주20.2℃
  • 구름조금순천22.2℃
  • 구름많음청주25.3℃
  • 구름많음밀양24.5℃
  • 맑음강릉25.5℃
  • 흐림산청23.6℃
  • 맑음춘천19.9℃
  • 맑음부산25.9℃
  • 맑음양평20.6℃
  • 구름조금보성군24.2℃
  • 구름많음여수24.9℃
  • 구름조금고흥24.4℃
  • 구름조금진주23.5℃
  • 맑음성산26.2℃
  • 구름많음태백17.4℃
  • 구름많음영광군24.2℃
  • 박무흑산도24.4℃
  • 구름조금세종23.1℃
  • 구름많음광주24.3℃
  • 구름많음추풍령22.3℃
  • 맑음창원24.3℃
  • 구름많음봉화19.3℃
  • 맑음백령도23.6℃
  • 구름조금영덕22.2℃
  • 구름많음정선군19.5℃
  • 맑음서귀포27.2℃
  • 맑음울산23.8℃
  • 박무북부산24.5℃
  • 구름조금구미23.7℃
  • 흐림순창군23.3℃
  • 맑음서산21.6℃
  • 구름많음상주23.0℃
  • 구름조금양산시24.9℃
  • 구름조금통영24.3℃
  • 맑음원주21.7℃
  • 구름조금완도24.6℃
  • 흐림함양군22.6℃
  • 구름많음임실22.7℃
  • 구름조금거제24.3℃
  • 구름많음제천19.4℃
  • 구름조금광양시24.8℃
  • 구름많음대구24.1℃
  • 구름많음충주21.7℃
  • 구름많음청송군21.2℃
  • 구름많음안동22.1℃
  • 구름많음영주19.6℃
  • 구름조금김해시25.0℃
  • 구름많음영천22.4℃
  • 구름많음홍천21.0℃
  • 구름많음울진23.0℃
  • 구름많음부여22.7℃
  • 구름조금남해23.9℃
  • 구름조금대전24.0℃
  • 맑음철원19.5℃
  • 구름많음천안22.0℃
  • 구름많음영월20.0℃
  • 구름많음고창군24.7℃
  • 구름많음의성22.6℃
  • 맑음속초21.5℃
  • 맑음북강릉22.7℃
  • 구름많음문경21.4℃
  • 흐림금산24.0℃
  • 구름조금서청주22.2℃
  • 구름많음강진군24.2℃
  • 구름많음울릉도24.4℃
  • 2025.09.16 (화)

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

박기림 / 기사승인 : 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