HOWTO · Java

StdDraw 자바 가져오기

이 자습서는 Java에서 stddraw를 가져오는 방법을 보여줍니다.

이 페이지의 내용

Java 프로젝트에서 StdDraw를 사용하려면 Princeton의 stdlib.jar를 다운로드해 프로젝트 빌드 경로에 추가하고, Java 소스에서 클래스를 가져와야 합니다. JAR을 Eclipse에 추가하는 작업과 import 문을 작성하는 작업은 별개입니다. 첫 번째 작업은 컴파일러와 런타임에서 라이브러리를 사용할 수 있게 하고, 두 번째 작업은 소스 코드에서 클래스의 짧은 이름을 사용할 수 있게 합니다.

StdDraw란 무엇이며 무엇이 필요한가

StdDraw는 입문 프로그래밍에서 사용하는 Princeton StdLib의 그리기 API입니다. 도형과 텍스트를 그리고 색상을 설정하는 메서드를 제공합니다. StdLib는 외부 종속성으로 Java JDK나 JRE에 포함되어 있지 않습니다. stdlib.jar 파일과 Eclipse의 Java 프로젝트가 필요합니다. 이 가이드에서 사용하는 패키지는 아래 가져오기 문에 나온 edu.princeton.cs.introcs입니다.

StdLib JAR 다운로드

Princeton의 StdLib 페이지를 열고 라이브러리 목록에서 stdlib.jar를 찾습니다. JAR 파일을 다운로드하세요. 소스 코드와 종속성을 한곳에 두고 싶다면 프로젝트 안에 lib 폴더를 만들고, 다운로드한 파일을 그곳에 복사합니다. JAR을 프로젝트 안에 두면 파일 위치를 쉽게 확인할 수 있지만, 복사만으로 Eclipse의 빌드 경로에 추가되는 것은 아닙니다.

Princeton StdLib 페이지에는 라이브러리 클래스 목록이 있으며 stdlib.jar가 표준 라이브러리 묶음이라고 설명되어 있습니다.

Princeton 페이지의 라이브러리 목록과 stdlib.jar 다운로드 영역입니다.

Eclipse 프로젝트에 stdlib.jar 추가

Package Explorer에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택합니다. Java Build Path를 열고 Libraries를 선택한 다음, 파일이 프로젝트 안에 있으면 Add JARs…, 다른 위치에 있으면 **Add External JARs…**를 선택합니다. 프로젝트의 lib 폴더에 파일을 넣었다면 프로젝트를 펼쳐 lib/stdlib.jar를 선택합니다. Apply and Close를 선택합니다. 이제 프로젝트의 클래스 경로 항목에 JAR이 표시되어야 합니다. Eclipse에 Order and Export 탭이 있다면, 이 탭은 종속 프로젝트에 전달할 항목을 설정하는 곳이지 JAR을 추가하는 곳은 아닙니다.

Eclipse의 Project Properties에서 Java Build Path의 Libraries 탭에 JAR이 Classpath 아래 표시되어 있습니다.

Libraries 화면에는 프로젝트 클래스 경로에 연결된 JAR이 표시됩니다.

Java에서 StdDraw 사용

JAR을 추가한 뒤에는 해당 클래스를 사용하는 소스 파일에서 클래스를 가져옵니다. 예를 들어 그리기 프로그램은 import edu.princeton.cs.introcs.StdDraw;로 시작한 다음 StdDraw.setPenColor(StdDraw.BLUE);를 호출하고, 이어서 StdDraw.filledCircle(0.5, 0.5, 0.1);를 호출할 수 있습니다. 이 호출은 펜 색을 파란색으로 설정하고, StdDraw의 단위 정사각형 좌표계에서 중심이 (0.5, 0.5)이고 반지름이 0.1인 원을 채워 그립니다. import 문이 JAR을 불러오는 것은 아닙니다. JAR은 프로젝트 빌드 경로를 통해 사용할 수 있습니다. 마찬가지로 JAR을 추가해도 소스의 import 문이 필요 없어지는 것은 아닙니다.

다음의 간단한 Java 프로그램으로 실행 중인 프로그램의 클래스 경로에서 클래스를 찾을 수 있는지 확인할 수 있습니다. 그래픽 창을 띄우지 않고 조회 결과를 출력합니다.

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

public class CheckStdDraw {
    public static void main(String[] args) {
        try {
            Class.forName("edu.princeton.cs.introcs.StdDraw");
            System.out.println("StdDraw is available on the classpath.");
        } catch (ClassNotFoundException e) {
            System.out.println("StdDraw is missing from the classpath.");
        }
    }
}

일반적인 설정 오류 해결

Eclipse가 edu.princeton.cs.introcs가 없다고 알리거나 StdDraw를 찾지 못한다면, 소스 코드가 들어 있는 바로 그 프로젝트의 Project Properties → Java Build Path → Libraries에 JAR이 표시되는지 확인합니다. 표시되지 않으면 JAR을 다시 추가하고 변경 사항을 적용합니다. Eclipse가 가져오기를 받아들이지만 프로그램을 실행할 때 클래스를 찾을 수 없다고 나오면, 프로젝트 빌드 경로뿐 아니라 실행 구성의 클래스 경로도 확인합니다. 컴파일과 실행 모두에 종속성이 포함되어야 합니다.

패키지와 클래스 이름의 철자 및 대소문자가 정확한지 확인하고, 추가한 파일이 웹 페이지나 다른 라이브러리가 들어 있는 압축 파일이 아니라 다운로드한 JAR인지 확인합니다. JAR을 이동하거나 이름을 바꾸면 빌드 경로 항목도 업데이트합니다. Java import 문은 프로젝트에서 이미 사용할 수 있는 클래스의 이름을 지정할 뿐, 누락된 종속성을 다운로드하거나 복구하지 않습니다. 빌드 경로와 소스 가져오기가 모두 올바르면 그리기 호출에서 StdDraw를 바로 사용할 수 있습니다.