목록전체 글 (39)
옆히
NULL은 C언어에서 유래된 매크로로 #define NULL 0 으로 정의되었다-> 함수의 오버로딩을 사용할 때 NULL을 전달하면 포인터와 정수형 타입간의 혼동이 발생한다 nullptr은 C++ 11에서 도입된 키워드로 포인터 타입과 호환되는 null 포인터 상수를 나타낸다. 혼동 발생 x #include void foo(int x) { std::cout
this는 현재의 인스턴스를 가리키는 키워드다 class parent{ public parent() { Console.WriteLine(this.GetType()); }}class child : parent{ public child() : base() //생성자 체이닝(constructor chaining) { } public child(string msg) { var test = new parent(); }}class Program{ static void Main() { var test1 = new child(); //child 출력 var test2 = new child("부모 클래스 생성")..
보호되어 있는 글입니다.
함수형 프로그래밍 - 잭 위드먼 지음, 이진호.한용진 옮김/에이콘출판함수형 프로그래밍이 뭔가요? (youtube.com)합성, 커링, 모나드에 대해 훑어보는 함수형 프로그래밍 입문 (youtube.com)(2) 이읗 - YouTube모나드와 함수형 아키텍처 | Dable Tech Blog (teamdable.github.io)함수를 '값'처럼 보기, 모나드 -> 부수 효과를 입출력과 함께 포장하여 함수를 순수 함수로 바꾸는 디자인 패턴(C#으로 치면 LINQ)동시성을 고려하는 환경이면 함수형 프로그램이 필요함펑터, map, curry(입력 매개변수가 여러개인 함수를 한개인 함수로 쪼개어 합성하기 편하게 가공함) #변화하는(mutable) 상태를 관리하기보다 변화를 허용하지 않는 것이 함수형 프로그램의 기..
디자인 패턴의 아름다움 - 왕정 지음, 김진호 옮김/제이펍 chapter 1 개요#객체 지향캡슐화(encapsulation): 정보를 숨기고 데이터를 보호추상화(abstraction): 메서드의 내부 구현을 숨김상속(inheritance) -> 과도한 사용으로 계층 구조가 깊어지고 복잡해지면 코드의 가독성과 유지 관리성이 떨어짐다형성(polymorphism): 하위 클래스를 상위 클래스 대신 사용하고, 하위 클래스의 메서드를 호출할 수 있는 특성; 상속과 메서드 재정의를 하는 방식, 인터페이스 문법을 사용, duck-typing 문법(python, javascript 같은 일부 동적 언어)을 사용#설계 원칙 #SOLID 원칙단일 책임 원칙(single responsibility principle, SRP..