최근 수정 시각 : 2024-11-25 09:19:38

deprecated


프로그래밍 언어 문법
{{{#!wiki style="margin: -16px -11px; word-break: keep-all"<colbgcolor=#0095c7><colcolor=#fff,#000> 언어 문법 C(포인터 · 구조체 · size_t) · C++(자료형 · 클래스 · 이름공간 · 상수 표현식 · 특성) · C# · Java · Python(함수 · 모듈) · Kotlin · MATLAB · SQL · PHP · JavaScript · Haskell(모나드)
마크업 문법 HTML · CSS
개념과 용어 함수(인라인 함수 · 고차 함수 · 람다식) · 리터럴 · 상속 · 예외 · 조건문 · 참조에 의한 호출 · eval
기타 #! · == · === · deprecated · NaN · null · undefined · 배커스-나우르 표기법
프로그래밍 언어 예제 · 목록 · 분류 }}}

1. 개요2. 원인3. 유명한 예시4. 관련 문서

1. 개요

deprecated /ˈdɛp.ɹɪ.keɪt.ɪd/

특정 용어, 기능, 디자인 또는 관습의 사용을 비권장 내지 규탄하는 행위[1]를 뜻하는 영어 단어 'deprecation'의 분사형.

주로 프로그래밍에서, 특정한 API가 사용이 비권장됨 내지 장차 소멸함(phased out)을 의미한다.

2. 원인

주로 버그가 있거나, 보안 취약점이 발견되었거나, 해당 API가 이미 deprecated된 다른 API와 연관되어 있기 때문에 사용을 멈추기 위해 사용한다.

왜 바로 해당 API를 제거하지 않는지 의문이 들 수도 있는데, 해당 API가 조금이라도 안정 버전에 공개되었을 경우, 해당 API를 사용하는 다른 응용 프로그램의 호환성을 깨트리지 않기 위한 임시방편적 조치이다. 즉, 해당 API를 당장 지우지는 않겠지만, 미래에 반드시 사라질 예정이니 최신 버전을 사용하도록 권고하는 것.

3. 유명한 예시

  • PHP에서 5.3에 deprecated를 도입했는데, 이 때문에 PHP 5.3 이상에서 제로보드를 설치 시 설치 화면에 deprecated 범벅이 되는 사태가 발생했었다. 제로보드가 PHP 4.x 기준 문법을 사용했기 때문.

4. 관련 문서


[1] discouragement of use of something human-made, such as a term, feature, design, or practice