무지개곰
반응형
article thumbnail
[Go] 인터페이스 (어댑터)
Go language 2023. 8. 26. 14:28

Go 언어는 강력한 타입 시스템을 가지고 있으며, 인터페이스는 이러한 타입 시스템의 핵심 개념 중 하나입니다. 인터페이스는 코드의 재사용성을 높이고 다형성을 지원하여 유연하고 확장 가능한 코드를 작성하는데 도움을 줍니다. 이러한 인터페이스를 알아보며 덕타이핑과 어댑터를 통하여 인터페이스의 활용방법 등에 대하여 설명해 보겠습니다. 목차 인터페이스란? 어댑터 패턴이란? 인터페이스란? 인터페이스는 메서드의 집합을 정의하는 타입입니다. struct와 달리 필드를 가지지 않고 메서드 시그니처만 포함합니다. struct처럼 interface도 type으로 선언합니다. interface 생성 다른 언어에서도 사용하였던 인터페이스지만 Go언어는 항상 새롭게 느껴집니다. type Shape interface { Area..

article thumbnail
[Go] 메서드 사용법 (함수와 메서드의 차이)
Go language 2023. 8. 25. 21:56

지금까지 언어를 배우면서 메서드와 함수를 거의 혼용하여 사용하고 있었습니다. Go를 배우며 함수와 메서드의 차이에 대하여 확실하게 잡게 되어 다행이라고 생각합니다. Go에서는 메서드를 어떻게 선언하는지 알아보겠습니다. 목차 메서드란? 메서드의 함수 표현식 메서드란? 메서드라는 것은 함수를 호출하는 객체가 있는 경우를 메서드라고 합니다. Go언어에서는 class 혹은 object가 없기에 type를 통하여 메서드를 선언할 수 있습니다. Go언어에서 정의한 메서드는 '사용자 정의 타입 값에 호출할 수 있는 특별한 함수'라고 이야기하고 있습니다. 메서드와 함수의 차이 다른 언어에서는 메서드와 함수의 형식이 크게 다르지 않았습니다. 하지만 Go 언어는 메서드는 형식부터가 다릅니다. 메서드 예시 func(리시버)..

article thumbnail
[Go] Pointer이해하기 (call by value 주의사항)
Go language 2023. 8. 25. 09:01

쉬운 사람에게는 쉽고 어려운 사람에게는 어려운 Pointer에 대하여 알아보겠습니다. 목차 Pointer란? Pointer 주의사항 Pointer란? Pointer는 메모리 주소라고도 하는데 말 그대로 변수가 저장된 메모리 위치를 나타냅니다. Pointer 선언 num := 30 ptr1 := &num var ptr2 *int = &num var ptr3 *int ptr3 = &num pointer도 값을 나타내기 때문에 변수 선언처럼 선언하면 됩니다. pointer는 주소 값을 저장하는 type이기 때문에 기존의 자료형 앞에 '*'을 사용하여 pointer 자료형이라는 것을 알리고 저장하는 값은 변수의 주소이기 때문에 '&'을 사용하여 변수의 주소 값을 받아옵니다. Pointer 출력 Pointer에 ..

article thumbnail
[Go] 구조체와 임베디드 구조체
Go language 2023. 8. 24. 12:53

목차 구조체 정의 구조체 생성 임베디드 구조체 (embedded struct) 구조체 정의 서로 다른 타입을 가지지만 관련된 데이터를 하나의 타입으로 묶을 수 있게 하는 것을 구조체라고 합니다. 구조체는 type 예약어를 사용하여 정의합니다. 예를 들어 게임 캐릭터는 이름과 레벨 경험치를 포함하여야 합니다. 캐릭터마다 필요한 변수를 선언하게 된다면 변수 선언을 3번씩 하여야 합니다. type Character struct { Name string Level uint Exe float64 } 구조체를 사용하는 경우 Character라는 type을 활용하여 변수들을 묶어서 관리하기 때문에 변수들을 따로 선언하지 않고 사용할 수 있습니다. 구조체 생성 정의한 구조체를 생성하는 방법은 여러 가지가 있습니다. p..

반응형