검수요청.png검수요청.png

넷빈즈

위키원
leejia1222 (토론 | 기여)님의 2021년 2월 16일 (화) 20:14 판
이동: 둘러보기, 검색
넷빈즈(NetBeans)

넷빈즈(NetBeans)는 썬 마이크로시스템즈(SUN Microsystems)에서 개발한 오픈소스 통합개발환경(IDE) 프로젝트이다. 자바, C 언어, C++, PHP 등의 다양한 언어를 위한 통합 개발환경을 제공한다.

개요

넷빈즈는 이클립스와 함께 자바 개발에 있어 가장 많이 쓰이는 통합개발환경이다. 1996년 체코 프라하에 있는 프라하 대학교(Charles University) 학생들이 수행한 자바 IDE 프로젝트로 개발되었다. 그 후 1999년 자바 언어를 만든 썬 마이크로시스템즈에서 넷빈즈 IDE를 사들여 오픈소스로 공개하였고, 2010년 오라클에 합병되면서 현재는 자바의 공식 IDE로 자리 잡고 있다. 넷빈즈는 자바뿐만 아니라, PHP, CSS, 자바스크립트, HTML을 비롯한 C 언어, C++, 파이썬, 루비, 그루비까지 개발 가능한 통합 IDE로 거듭나고 있다.[1] 자바 가상머신이 설치된 환경이면 사용 가능하며 윈도우, 맥, 리눅스를 지원한다. 이클립스(Eclips)와 함께 널리 알려진 자바 IDE 중 하나로, 2007년 제17회 졸트 상(Jolt Award)를 수상하였다. 2010년 오라클이 썬을 인수하여 넷빈즈 역시 오라클의 소유가 되었으나, 2016년에 오라클이 넷빈즈를 아파치 소프트웨어 재단으로 넘긴 후 지금은 아파치에서 개발 중이다.

특징

넷빈즈는 다섯 가지 주요 특징이 있다. 첫 번째 특징은 무료 오픈소스 소프트웨어 개발자를 위한 IDE라는 것이다. 두 번째는 다양한 개발 언어 지원한다는 것이며, 셋째로 비주얼 디버깅을 돕는다는 것이다. 네 번째는 IDE에 통합된 (Git)과 서브비전(SVN)을 지원한다는 것이고, 마지막으로 기타 PHP 디버깅과 다양한 자바 EE를 지원한다는 특징이 있다. 이와 같은 5가지 특징 중 네 번째는 넷빈즈 자체에 깃과 서브비전 기능이 탑재되어 있어 협업을 매우 편하게 해 준다. 서브비전에 등록된 디렉터리 내에서 프로젝트를 만들어 진행하면 넷빈즈에서 자동으로 해당 서브비전에 접속할 수 있는 기능을 갖추어 해당 코드의 히스토리를 살펴보며 어떤 점들이 수정되었는지를 한 눈에 보여준다.[1]

비교

이클립스

같은 자바 기반의 개발 툴인 이클립스와 많이 비교당하는데, 서로 지향점이 약간 다르다. 이클립스 같은 경우에는 개방된 공통의 인터페이스 개발에 중점을 두고 있기 때문에 딱히 어디에 특화된 옵션이 있지 않고 필요한 기능은 대부분 플러그인으로 추가한다. 반면에 넷빈즈는 데스크톱 환경을 위한 플랫폼 개발에 주력하기 때문에, 주요 기능들을 사전에 보유하고 플러그인은 최소한으로만 사용하게 되어 있다. 딱 비주얼 스튜디오의 형태와 흡사하다. 자바 경험자들은 처음 자바에 입문하는 사람들에게 이클립스보다는 넷빈즈를 추천한다. 입문자가 처음부터 이런저런 플러그인에 신경 쓰다 보면 오히려 학습 능률을 떨어뜨릴 수 있고, 복잡한 UI 때문에 프로그래밍 입문자에게는 학습하기 썩 좋은 IDE가 아니다. 플러그인 간의 충돌도 잦은 편이다. 그리고 GUI(JavaFX)나 PHP, JSP 등은 이클립스보다 넷빈즈로 개발하는 게 훨씬 편하다. 특히 이클립스에서는 웹 서버를 따로 설치해서 연동해 줘야 하지만 넷빈즈는 IDE 설치 시 오라클의 GlassFish 또는 아파치 톰캣을 함께 설치할 수 있다. 이 덕분에 넷빈즈로 자바 웹 개발을 하면 별도의 서버 설정을 해 줄 필요가 없다. 다만 최근에는 JavaFX를 사용하는 일 자체가 많지 않고, PHP/JSP도 오라클이 소유하던 기간 동안 서포트가 지지부진해서 실무 환경에서는 대부분의 업체가 이클립스 또는 IntelliJ IDEA, VS Code 등으로 옮겨갔다. 심지어 요즘에는 이클립스조차 IntelliJ IDEA에 밀려 사용률이 줄어들고 있다. 해외에서 넷빈즈는 실제 업무가 아닌 Java나 기타 웹 개발 입문자를 위한 학습용 툴로 입지가 변화하고 있다. 지나치게 많은 기능으로 부담을 주지도 않고, 또 반드시 필요한 기능은 빠진 것 없이 모두 들어가 있는 무난한 크로스 플랫폼 IDE이기 때문이다.[2]

기능

약속된 명령어들로 자주 쓰는 코드를 자동 생성

예를 들어 Java에서 메인 메소드의 생성 시 매일 쳐야 했던 "public static void main(String[] args)"을 단순히 "psvm" 입력 후 탭키를 한번 눌러줌으로써 자동으로 생성해주는 기능이다. 이러한 기능은 개발 시 조금이라도 개발자들의 수고를 덜어주며, 전체적으로 개발 시간을 단축해 주는 효과가 있다. 약속된 명령어들은 Tools -> Options -> the Editor -> Code Templates 안에 있고 사용자가 정의해서 넣을 수도 있다.

약속된 명령어들로 자주 쓰는 코드를 자동 생성
주석처리 한 번에 하기

주석하고 싶은 죽에 커서를 가져다 놓거나 여러 줄을 드래그하여 선택 후 Ctrl+Shift+C 키를 누르면 자동 주석처리가 이루어진다. 주석을 해제하고 싶으면 다시 Ctrl+Shift+C 키를 누르면 된다.

변수명 한 번에 바꾸기

변경하고 싶은 변수명 위에 커서를 올리고 Ctrl+R 키를 누르면 해당 변수명이 지워지면서 수정 가능한 박스 상태로 변경하게 된다. 그 상태에서 변수명을 수정하면 해당 변수를 사용하고 있던 모든 곳의 변수명이 같이 변경되게 된다.

변수명 한번에 바꾸기
라인 자동 정렬 기능

외부에서 복사한 소스나 자신이 만든 코드일지라도 들여쓰기가 제대로 이루어지지 않은 경우가 있다. 이런 경우 라인 및 들여쓰기를 자동으로 정렬하려면 Alt+Shift+F 키를 누르면 한 번에 자동 정렬이 이루어진다.

라인 자동 정렬 기능
현재 작업 중인 문서의 위치 찾기

현재 수정 중인 코드 및 문서가 프로젝트 내의 어느 패키지에 있는지 찾기 위해 프로젝트 내비게이션을 스크롤 해가며 찾아봤던 경험이 있을 것이다. 넷빈즈에서는 간단히 Ctrl+Shift+1을 누르면 바로 현재 작업 중인 문서의 패키지가 펼쳐지며 해당 문서에 하이라이트가 되어 찾을 수 있게 된다.

현재 작업중인 문서의 위치 찾기
펼쳐져 있는 모든 문서를 닫기

작업을 하다 보면 문서들이 너무 많이 열려있을 때가 많다. 이럴 때는 Ctrl+Shift+w 또는 Ctrl+Shift+F4 키를 누르면 현재 열려있던 모든 창이 닫히며 수정 후 저장되지 않았던 문서가 있다면 저장 후 닫을 것인지에 대해서도 친절하게 물어본다.

자동으로 import 생성

소스만 복사해 와서 붙인 경우 import 문이 생략된 경우가 많아 소스에 빨간 줄이 많이 쳐지는 현상을 경험했을 것이다. 이럴 때 넷빈즈에서는 Ctrl+Shift+i를 눌러 자동으로 import 문을 생성할 수 있다.

자동으로 import 생성
자동으로 관련 메소드를 찾는 기능 및 해설

각 클래스에 있는 메소드에 대해 모든 내용을 자세하게 외우고 있는 사람은 거의 없을 것이다. 해당 메소드의 내용 및 해설을 보고 싶을 때는 Ctrl+Space 키를 누르면 Java-doc까지 자세한 설명과 관련 메소드들을 넷빈즈에서 보여주며 auto complete 기능까지 제공한다.

자동으로 관련 메소드를 찾는 기능 및 해설
getter, setter 메소드 자동 생성

클래스에 멤버 변수들만 선언해주고 Alt+Insert 키를 누르면 Generate 창이 뜬다. 해당 창에서 getter and setter를 선택하면 변수별로 get, set 메소드를 자동으로 생성할 수 있다.

getter, setter 메소드 자동 생성
파일끼리 비교하여 무엇이 변했는지 한눈에 볼 수 있는 비교 자동결과 출력

상단 메뉴에서 Tools - Diff를 눌러 비교할 파일을 선택하면 현재 열려 있는 문서와 비교하여 무엇이 변했고 추가/삭제된 부분이 어느 곳인지 한눈에 알 수 있게 된다.[3]

파일끼리 비교하여 무엇이 변했는지 한눈에 볼 수 있는 비교 자동결과 출력

각주

  1. 1.0 1.1 동운POS 동운시스템, 〈NetBeans 소개〉, 《티스토리》, 2018-11-12
  2. 넷빈즈〉, 《나무위키》, 2021-02-11
  3. 동운POS 동운시스템, 〈NetBeans 개발 Tips〉, 《티스토리》, 2018-11-12

참고자료

같이 보기


  검수요청.png검수요청.png 이 넷빈즈 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.