콘텐츠로 이동

Unibase 언어 안내

Unibase의 문법은 클래스·메서드·타입을 명시하는 구조입니다. 문법을 읽고 값을 처리하는 코드를 작성한 뒤, 사용한 언어 요소의 실제 결과를 비교하는 순서로 학습할 수 있습니다.

알고 싶은 것 문서 익히는 내용
프로그램의 형태 프로그램 구조와 타입 package·import·main·변수 타입·범위·접근
값을 계산하는 방법 변수와 제어 흐름 대입·비교·분기·반복·매개변수·반환
상태와 동작 묶기 클래스와 객체 생성자·this·상속·인터페이스·조합
여러 값 처리 List·Set·Map 순회·중복 제거·집합 연산·키별 집계
작업과 완료 구분 Thread와 비동기 작업 Runnable·Callable·Thread·Task·Future
연결과 데이터 전달 Net과 소켓 통신 주소·connect·output·accept·close
저장할 값 전달 SQL과 값 바인딩 문장·실행·ResultSet의 구분
실패를 찾아 처리 오류와 예외 검사·빌드·실행·비교 오류, throw·catch

본문의 전체 소스에는 빌드·실행 버튼과 원본 다운로드가 있습니다. 문법 형태나 잘못된 코드를 설명하는 조각은 전체 실행 프로그램과 구분해 표시합니다.

문자열은 큰따옴표로 감쌉니다. 문자열 안의 \n은 줄바꿈이며, \"는 큰따옴표를 나타냅니다. 아래 예제의 언어 탭에서 이스케이프의 표현을 비교하고, 예상 출력을 펼쳐 줄바꿈과 따옴표가 어떻게 표시되는지 확인할 수 있습니다.

줄바꿈과 따옴표
class EscapedText {
    static void main() {
        print("Hello,\nUnibase! Say \"Hello\".");
    }
}

다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.

Unibase 소스 내려받기서버 실행을 준비 중입니다.
예상 출력
Hello,
Unibase! Say "Hello".

\t는 탭 문자입니다. 두 줄의 항목과 수량 사이에 탭을 넣습니다. 탭의 표시 너비는 화면에 따라 다를 수 있습니다.

탭으로 항목 구분하기
class TabbedText {
    static void main() {
        print("항목\t수량\n사과\t2");
    }
}

다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.

Unibase 소스 내려받기서버 실행을 준비 중입니다.
예상 출력
항목	수량
사과	2

문자열에서 역슬래시 한 개를 표현하려면 \\를 씁니다. 이 예제는 경로를 문자열로 출력하며 파일을 열거나 만들지 않습니다.

역슬래시와 경로 문자열
class FilePath {
    static void main() {
        print("C:\\samples\\hello.uni");
    }
}

다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.

Unibase 소스 내려받기서버 실행을 준비 중입니다.
예상 출력
C:\samples\hello.uni

JSON의 키와 문자열 값에는 큰따옴표가 들어갑니다. Unibase 문자열 안에서는 \"로 표현합니다. 아래 예제는 고정된 JSON 모양의 텍스트를 출력합니다. JSON 객체 생성이나 파싱 예제는 아닙니다.

JSON 모양의 문자열 출력
class JsonText {
    static void main() {
        print("{\"language\":\"Unibase\",\"ready\":true}");
    }
}

다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.

Unibase 소스 내려받기서버 실행을 준비 중입니다.
예상 출력
{"language":"Unibase","ready":true}
소스 안의 표기 표현하는 문자 사용할 상황
\n 줄바꿈 여러 줄의 메시지
\t 탭 고정 항목을 구분한 출력
\" 큰따옴표 인용문·JSON 모양 텍스트
\\ 역슬래시 역슬래시가 들어가는 경로 문자열

문자열 안의 표기와 실행 뒤의 실제 문자는 다릅니다. 출력 결과에 역슬래시 n이 그대로 보이는지, 줄바꿈으로 바뀌었는지 비교해야 합니다. 파일 경로를 출력했다고 그 파일을 열거나 저장한 것은 아닙니다.

첫 번째 예제는 클래스 내부에 static void main()을 둡니다. 이 콘솔 예제의 실행은 main()에서 시작합니다. 문장 끝에는 세미콜론을 사용하고, 클래스와 메서드 본문은 중괄호로 감쌉니다.

다른 패키지의 타입을 사용할 때는 import로 가져올 수 있습니다. Console 예제에서 unibase.system.Console을 가져오는 소스를 확인할 수 있습니다. 인터페이스와 객체 구성은 클래스와 객체에서 이어서 설명합니다. 다중 소스 프로젝트 구성은 별도 확인 후 안내합니다.

변수 하나에서 시작하는 변수와 제어 흐름, 여러 값을 다루는 List·Set·Map, 작업 완료를 기다리는 Thread와 비동기 작업, 연결과 전송을 설명하는 Net과 소켓 통신으로 이어집니다. 각 장의 코드는 언어 요소를 설명하는 본문에 포함되며, 소스별 검증 결과도 함께 표시합니다. 현재 실행 확인 범위에서 실제 동작 확인과 출력 불일치를 구분할 수 있습니다. 선언 목록과 콘솔 출력은 Standard 라이브러리에서 확인하세요.