Golang2 Golang에 대한 궁금증 해소 의식의 흐름 Go는 객체지향언어인가?Go는 전통적인 의미의 객체지향 언어는 아니지만, OOP의 개념을 일부 다른 형태로 지원한다.class -> struct & method상속 -> 임베딩다형성, 추상화 -> 인터페이스...Go에는 그럼 객체가 없나?있다. 인스턴스 정도로 부르기도 하지만 '객체'로 칭하는 편이 통상의 대화에서 무리가 없다.OOP(Object-oriented Programming)라 하면 '데이터와 그 데이터의 상태를 조작하는 동작을 하나의 클래스(객체)로 묶어서 설계하는 패러다임' 인데여기서 '클래스'가 하나의 틀이라면 클래스로부터 실제 사용 가능한 무언가로 실체화 한 것을 '객체'로 부른다.Go에는 클래스는 없지만 구조체와 메서드를 통해 '객체'를 만들어 사용한다고 볼 수 있다.그럼 객체지향 아니.. 2025. 6. 12. golang의 실수 계산(부동소수점 오차, 머신 엡실론) golang에서의 실수는 소수점을 찍거나 또는 지수 표기법 e / E를와 + / - 를 사용하여 소수점 위치를 지정합니다. 컴퓨터는 2진수를 사용하기 때문에 실수를 정확하게 표현할 수 없는데, 특히 무한 소수의 경우 2진수로 정확히 표현할 수 없고 아쉬운대로 근사값으로 표현해야 합니다. 따라서 아래와 같은 문제 상황이 발생할 수 있습니다. 1. 등호(==)로 비교 불가능 package main import ( "fmt" "math" ) func main() { //variables var ( a float64 = 9.9 ) const ( epsilon = 1e-14 ) a = a - 0.7 fmt.Println(a) //9.2000000000001 } 변수 a에 9.9를 할당하고 0.7을 빼면 9.2가 .. 2022. 11. 13. 이전 1 다음