ksundev 님의 블로그

GO vs JS, Python, Java 비교 본문

[개발] Go

GO vs JS, Python, Java 비교

ksundev 2025. 5. 31. 15:17

Python, Java, JavaScript를 주로 사용하셨다면 Go는 이렇게 이해하시면 됩니다:

Python과 비교했을 때

  • Python처럼 문법이 간결하고 읽기 쉬움
  • 하지만 정적 타입 언어라서 변수 타입을 명시해야 함 (Python은 동적 타입)
  • 컴파일 언어라서 실행 속도가 Python보다 훨씬 빠름
  • 들여쓰기 대신 중괄호 {} 사용

Java와 비교했을 때

  • 정적 타입이라는 점은 비슷함
  • 하지만 클래스가 없음! 대신 struct 사용
  • 상속 개념이 없고, 대신 컴포지션인터페이스 활용
  • 훨씬 간단한 문법 (보일러플레이트 코드가 적음)
  • JVM 없이 바로 실행 가능한 바이너리로 컴파일

JavaScript와 비교했을 때

  • JS의 async/await 대신 고루틴이라는 더 강력한 동시성 모델
  • 정적 타입이라서 런타임 에러가 적음
  • 프로토타입 기반이 아닌 구조체 기반

핵심 차이점

// 클래스 대신 struct + 메서드
type Person struct {
    Name string
    Age  int
}

func (p Person) Greet() string {
    return "Hello, " + p.Name
}

// 고루틴으로 동시성 처리
go someFunction() // 별도 스레드에서 실행

Go는 **"Java의 성능 + Python의 간결함 + 강력한 동시성"**을 목표로 만든 언어라고 보시면 됩니다. 특히 백엔드 서버 개발에 최적화되어 있어요.

'[개발] Go' 카테고리의 다른 글

Go 서버에서 Graceful Shutdown 구현하기  (0) 2025.10.19