본문 바로가기

프로그래밍14

[Kotlin 뿌시기](2) Null 이번에 다뤄볼 주제는 Null이다. Null이란 값이 존재하지 않음을 나타내는 특별한 상태이다. 말이 좀 어려운데 ㅋㅋㅋㅋ 사실 0아닌가 ?라는 생각이 드는데 0은 정확히 type이 정수형인 0이라는 숫자니까 또 그거는 아닌거같긴하다. 그리고 Null들의 가장 큰 특징은 사칙 연산이 불가능 하다는 점이다. 다른 언어에서는 Null이 포함된 변수를 다루는 과정에서 발생하는 오류로 인해 코드가 취약해질 수 있고, 이로 인한 버그를 방지하고 안전성을 높이기 위해 Kotlin은 Null Safety라는 방안을 도입했다고 한다. 얘가 뭔지는 슬슬 알아보자. 우선 변수는 Nullable과 Non-Nullable Type이 있는데, 말 그대로 Null이 될 수 있는 것과 없는 Type으로 나뉜다고 생각하면 된다. -.. 2023. 12. 24.
[Kotlin 뿌시기] (1) 변수와 자료형 c++에 관해서는 조금 공부를 했었는데, Python이나 java등 다른 언어에 대해서는 정말 암것도 모른다 ㅋㅋㅋ 이번에 kotlin이라는 언어를 겁 없이 배워보고 싶어서 조금씩 공부하는 내용을 적어가려고 한다. 잘못된 부분이 있다거나, 추가적으로 알려주고 싶은 내용이 있다면 댓글 달아주시면 감사하겠습니다^_^ 1. 변수 Kotlin에서는 변경이 가능한 변수, 변경이 불가능한 변수 2가지로 나뉘게 된다. 변경이 가능한 변수는 variable의 앞 자를 따서 var 키워드로 정의를 하고, 변경이 불가능한 변수는 value의 앞 3자를 따서 val 키워드로 정의를 한다. var school = "학교" 이런식으로 정의하는 것이다, school은 var이기 때문에 나중에 school="초등학교" school.. 2023. 12. 23.
[C++ Design Pattern] Visitor Visitor 패턴 1 . 반복자(iteration) : 복합 객체의 모든 요소를 동일한 방식으로 열거 2 . 방문자(visitor) : 복합 객체의 모든 요소를 동일한 방식으로 연산 수행 아파트 단지에 방 100개가 있다고 하자 , 얘가 반복자이다. 가스 검침을 수행하는 가스 검침원 (Visitor1) 가전 제품을 설치해주는 설치 기사 (Visitor2) ~~~ 기능을 하는 ~~~~~~~~~~사람 (VisitorX) 이렇게 기능을 수행하는 역할들을 하나의 Class로 만들어 버리는 것이다. #include #include #include template struct IVisitor { virtual void visit(T& e) = 0; virtual ~IVisitor(){} }; template cl.. 2023. 12. 1.
[C++] Iterator Iterator(반복자) ?? - 복합 객체의 내부 구조를 노출하지 않고 , 동일한 방법으로 순차적으로 이동할 수 있는 방법을 제공 #include #include #include int main() { std::list s = { 1,2,3,4,5 }; std::vector v = { 1,2,3,4,5 }; auto p1 = s.begin(); auto p2 = v.begin(); while (p1 != s.end()) { std::cout 2023. 12. 1.