Unibase Standard 라이브러리
Standard 라이브러리는 Unibase의 기본 언어 기능을 위한 .uni API를 모은 라이브러리입니다.
패키지별로 선언된 클래스와 인터페이스를 아래에서 확인할 수 있습니다.
6개 패키지, 28개 타입의 선언 목록입니다. 컬렉션·동시성·통신의 사용 구조는 연결된 설명에서 읽을 수 있습니다. 타입이 선언되어 있어도 모든 실행 환경·변환 대상에서 지원되는 것은 아닙니다.
메일의 첫 계약을 수신했고 스토리지·파일 전송·인증·결제는 미구현입니다. 서비스 라이브러리 학습 안내에서 실제 mail 정의와 학습 순서, provider·플랫폼·미리보기의 확인 기준을 읽으세요. 아래 기존 선언 목록이나 새 계약 수신이 서비스 실행 완료를 뜻하지는 않습니다.
패키지 목록
섹션 제목: “패키지 목록”| 패키지 | 분류 | 선언 수 |
|---|---|---|
| unibase.lang | 기본 타입과 예외 | 8 |
| unibase.collections | 컬렉션 | 4 |
| unibase.io | 입출력 스트림 | 2 |
| unibase.system | 콘솔 | 1 |
| unibase.concurrent | 동시성과 비동기 작업 | 8 |
| unibase.net | 네트워크 | 5 |
unibase.lang
섹션 제목: “unibase.lang”| 타입 선언 | 소스에서 확인한 범위 |
|---|---|
Object |
기본 클래스 선언 |
String |
Object를 상속하는 클래스 선언 |
DateTime |
Object 상속, 정적 now() 메서드 선언 |
JsonValue |
text() 메서드 선언 |
Exception |
메시지 필드와 생성자 선언 |
RuntimeException |
Exception을 상속하는 예외 선언 |
CancellationException |
RuntimeException을 상속하는 예외 선언 |
TimeoutException |
RuntimeException을 상속하는 예외 선언 |
unibase.collections
섹션 제목: “unibase.collections”List·Set·Map에서 인덱스 변경·목록 합계·중복 제거·집합 연산·키별 집계를 설명합니다.
| 타입 선언 | 소스에서 확인한 범위 |
|---|---|
List<T> |
항목 추가·조회·수정·삭제, 부분 목록과 집합 변환 메서드 선언 |
Set<T> |
항목 관리, 합집합·교집합·차집합과 목록 변환 메서드 선언 |
Map<K, V> |
키와 값 관리, 키·값·항목 목록 조회 메서드 선언 |
MapEntry<K, V> |
key, value 필드와 생성자 선언 |
unibase.io
섹션 제목: “unibase.io”| 타입 선언 | 소스에서 확인한 범위 |
|---|---|
InputStream |
입력 스트림 클래스 선언 |
PrintStream |
print(), println() 메서드 선언 |
unibase.system
섹션 제목: “unibase.system”| 타입 선언 | 소스에서 확인한 범위 |
|---|---|
Console |
out, err, in 필드와 출력·오류 출력·한 줄 입력 메서드 선언 |
콘솔 출력 예제
섹션 제목: “콘솔 출력 예제”import unibase.system.Console;로 콘솔 타입을 가져옵니다.
Console.println()은 문자열 뒤에 줄바꿈을 붙입니다. 빈 문자열을 전달하면 빈 줄을 출력합니다.
이 예제는 먼저 빈 줄을 출력한 다음 두 메시지를 출력합니다.
import unibase.system.Console;
class ConsoleLines {
static void main() {
Console.println("");
Console.println("첫 번째 줄");
Console.println("두 번째 줄");
}
}public class ConsoleLines {
public static void main(String[] args) {
System.out.println("");
System.out.println("첫 번째 줄");
System.out.println("두 번째 줄");
}
}class ConsoleLines:
@staticmethod
def main():
print("")
print("첫 번째 줄")
print("두 번째 줄")
if __name__ == "__main__":
ConsoleLines.main()using System;
class ConsoleLines {
public static void Main() {
Console.WriteLine("");
Console.WriteLine("첫 번째 줄");
Console.WriteLine("두 번째 줄");
}
}class ConsoleLines {
static main(): void {
console.log("");
console.log("첫 번째 줄");
console.log("두 번째 줄");
}
}
ConsoleLines.main();package main
import "fmt"
func main() {
fmt.Println("")
fmt.Println("첫 번째 줄")
fmt.Println("두 번째 줄")
}다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.
Unibase 실행 결과
빌드·실행 메시지
예상 출력
첫 번째 줄
두 번째 줄
여러 줄과 중간 빈 줄
섹션 제목: “여러 줄과 중간 빈 줄”\n 두 개를 연속으로 넣으면 두 메시지 사이에 빈 줄이 생깁니다.
print()도 출력 끝에 줄바꿈을 붙이므로 마지막 문자열 뒤에 별도 \n을 넣지 않아도 됩니다.
class MultilineText {
static void main() {
print("시작\n\n완료");
}
}public class MultilineText {
public static void main(String[] args) {
System.out.println("시작\n\n완료");
}
}class MultilineText:
@staticmethod
def main():
print("시작\n\n완료")
if __name__ == "__main__":
MultilineText.main()using System;
class MultilineText {
public static void Main() {
Console.WriteLine("시작\n\n완료");
}
}class MultilineText {
static main(): void {
console.log("시작\n\n완료");
}
}
MultilineText.main();package main
import "fmt"
func main() {
fmt.Println("시작\n\n완료")
}다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.
Unibase 실행 결과
빌드·실행 메시지
예상 출력
시작
완료
여러 언어와 이모지
섹션 제목: “여러 언어와 이모지”아래 예제는 한글·영문·일본어와 이모지를 한 줄씩 출력합니다. 서버 출력에서 문자가 바뀌거나 빠지지 않았는지 예상 출력과 비교하세요. 글꼴에 따라 이모지 모양은 달라질 수 있습니다.
class UnicodeText {
static void main() {
print("안녕하세요, Unibase!\nHello!\nこんにちは!\n🚀");
}
}public class UnicodeText {
public static void main(String[] args) {
System.out.println("안녕하세요, Unibase!\nHello!\nこんにちは!\n🚀");
}
}class UnicodeText:
@staticmethod
def main():
print("안녕하세요, Unibase!\nHello!\nこんにちは!\n🚀")
if __name__ == "__main__":
UnicodeText.main()using System;
class UnicodeText {
public static void Main() {
Console.WriteLine("안녕하세요, Unibase!\nHello!\nこんにちは!\n🚀");
}
}class UnicodeText {
static main(): void {
console.log("안녕하세요, Unibase!\nHello!\nこんにちは!\n🚀");
}
}
UnicodeText.main();package main
import "fmt"
func main() {
fmt.Println("안녕하세요, Unibase!\nHello!\nこんにちは!\n🚀")
}다른 언어의 탭은 직접 작성한 대응 코드이며 컴파일러의 자동 생성 결과가 아닙니다. 언어마다 API와 실행 환경이 다릅니다. 이 페이지의 빌드·실행은 Unibase 탭에서 사용할 수 있습니다.
Unibase 실행 결과
빌드·실행 메시지
예상 출력
안녕하세요, Unibase!
Hello!
こんにちは!
🚀
Console.readLine(), Console.error()와 스트림 API의 실행 예제는 별도 검증 후 추가합니다.
unibase.concurrent
섹션 제목: “unibase.concurrent”Thread와 비동기 작업에서 작업의 내용·시작·완료 대기와 결과 전달을 구분해 살펴보세요.
| 타입 선언 | 소스에서 확인한 범위 |
|---|---|
Runnable |
run()을 선언하는 인터페이스 |
Callable<T> |
값을 반환하는 call()을 선언하는 인터페이스 |
Thread |
시작·대기·인터럽트·상태 조회 메서드 선언 |
Task |
대기·취소·상태 조회 메서드 선언 |
Future<T> |
결과 조회·대기·취소·상태 조회 메서드 선언 |
Promise<T> |
Future 조회, 완료·실패 처리와 상태 조회 메서드 선언 |
Executor |
작업 제출·종료·종료 상태 조회 메서드 선언 |
Async |
작업 실행·지연·완료된 Future 생성 메서드 선언 |
unibase.net
섹션 제목: “unibase.net”Net과 소켓 통신에서 SocketAddress·Socket·ServerSocket의 역할과 호출 순서를 설명합니다.
| 타입 선언 | 소스에서 확인한 범위 |
|---|---|
SocketAddress |
host, port 필드와 생성자 선언 |
SocketException |
RuntimeException을 상속하는 예외 선언 |
Socket |
연결, 스트림 조회, 종료와 연결 상태 조회 메서드 선언 |
ServerSocket |
연결 수락, 종료, 열림 상태와 포트 조회 메서드 선언 |
GrpcSchema |
스키마 텍스트를 조회하는 text() 메서드 선언 |
목록의 범위
섹션 제목: “목록의 범위”이 목록은 Standard 패키지의 선언을 기준으로 합니다.
별도 SDK 패키지인 데이터베이스(packages/db)와 UI(packages/ui)는 포함하지 않습니다.
설명 페이지의 각 소스에는 확인한 문법·실행 상태를 표시합니다. 현재 실행 확인 범위에서 실제 계산·컬렉션·작업·통신·DB 결과와 지원 환경을 확인할 수 있습니다. 선언 목록 전체가 모든 타겟의 native 구현 완료를 뜻하지는 않습니다.