🐨CoalaCoding
DocsExamplesTry itBoardB반B반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • 노드버전-여러개-설치하기
  • graphql이-뭐야
  • 종속성-모듈을-최신버전으로-업데이트하기
  • 의존성버전-오류-해결법
  • errno--13
  • 모듈-커스텀하기
  • 캐시삭제
  • one-of-your-dependencies-babel-preset-react-app
  • npm--이-시스템에서-스크립트를-실행할-수-없으므로-cprogram-filesnodejsnpmps1-파일을
  1. 홈
  2. 문서
  3. Backend
  4. Node.js
  5. graphql이-뭐야

graphql이-뭐야

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

1. GraphQL이란?

GraphQL과 REST API는 클라이언트와 서버 간에 데이터를 주고받는 방법을 제공하는 API입니다.

2. GraphQL과 REST API 비교 분석

2.1. GraphQL

장점:

  1. 단일 엔드포인트: 클라이언트는 필요한 데이터를 요청할 수 있는 한 개의 문만 있으면 됩니다. (쉬운 설명: 데이터를 받으러 여러 곳에 가야 하는 대신, 한 곳에만 가면 돼요!)
  2. 유연성: 내가 필요한 데이터만 선택해서 받을 수 있어요. (쉬운 설명: 뷔페에서 내가 먹고 싶은 것만 골라서 가져오는 것과 같아요!)
  3. 효율적인 네트워크 사용: 필요한 만큼만 데이터를 요청하니까, 인터넷을 덜 쓰고 빨리 끝낼 수 있어요. (쉬운 설명: 물을 가득 채운 큰 컵보다, 내가 마실 양만큼 작은 컵을 쓰면 물도 아끼고 빨리 마실 수 있어요.)

단점:

  1. 학습 곡선: REST API보다 좀 더 어려워서 배울 시간이 필요해요. (쉬운 설명: 더 많은 규칙이 있는 놀이처럼, 조금 더 공부해야 할 게 많아요!)
  2. 캐싱과 성능 관리: 클라이언트가 직접 저장하는 방법을 관리해야 해요. (쉬운 설명: 물건을 어디에 넣어두고, 어떻게 꺼낼지 내가 다 기억해야 하는 거예요.)

2.2. REST API

장점:

  1. 간단한 인터페이스: 쉬운 방법으로 데이터를 주고받을 수 있어요. (쉬운 설명: 신호등만 잘 보면 되는 길 건너기와 비슷해요!)
  2. 캐싱 지원: 데이터를 저장해서 다시 받을 필요 없이 빨리 가져올 수 있어요. (쉬운 설명: 좋아하는 장난감을 항상 같은 자리에 놓으면 빨리 찾을 수 있는 것처럼요!)
  3. 호환성: 많은 프로그램들과 잘 맞아서 쓰기 좋아요. (쉬운 설명: 레고처럼 여러 가지 블록을 다 맞춰서 쓸 수 있는 거예요!)

단점:

  1. 오버페칭과 언더페칭: 데이터를 너무 많이 받거나 적게 받을 수 있어요. (쉬운 설명: 친구가 과자를 너무 많이 주거나, 너무 적게 줄 때처럼 딱 맞지 않을 수 있어요.)
  2. 다중 엔드포인트: 필요한 데이터마다 여러 문을 찾아가야 할 수 있어요. (쉬운 설명: 여러 방에 들어가서 물건을 찾아야 하는 상황과 같아요.)

3. 참조

공식: https://graphql.org/ 한국어: https://graphql-kr.github.io/ 튜토리얼1: https://www.javatpoint.com/graphql 튜토리얼2: https://www.tutorialspoint.com/graphql/index.htm

목차

  • 구문