구조체

구조체

    Go: 구조체 (메서드, 임베딩, 캡슐화)

    Go 에는 클래스가 없다. 개념적으로 객체라는 단어를 거의 사용하지 않는다. 다만 C언어처럼 구조체라는 존재가 있다. 구조체는 클래스와 유사하지만 전통적인 객체지향 프로그래밍의 형태보다는 Go 언어에 맞는 프로그래밍 방식이 요구된다. 객체지향에서 언급하는 상속과 캡슐화를 하는 것은 가능하지만 그 방법이 다른 언어와는 상당히 다르다. 기존 객체지향에서 사용하는 extends, public, protected, private 와 같은 키워드가 존재하지 않으며, this 키워드가 없어서 혼란스러울 일이 없다. 타언어를 사용하다보면(특히 자바스크립트) this 가 무엇을 가르키는지 소스코드에 명시가 되어있지 않기 때문에 헷갈리는 경우가 많은데, Go 에서는 명시하기 때문에 그럴 일이 없다. 구조체 구조체는 클래..