일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tcp
- write
- Sync
- bitcoin
- Python
- channel
- json
- range
- mutex
- 영화
- c++
- Golang
- Callback
- File
- http
- 책
- Linux
- windows
- FOR
- API
- 리뷰
- go언어
- GO 언어
- package
- Close
- go
- window
- C
- install
- JavaScript
- Today
- Total
목록CLASS (3)
Code Habit
해당 원칙은 상위 타입의 객체를 하위 타입의 객체로 치환해도 동작에 문제가 없어야 한다는 것을 정의한다. 자식 클래스 언제나 자신의 부모클래스를 교체할 수 있어야 하고 한 객체를 다른 객체가 파생하더라도 그 기본 로직은 변경 되어서는 안된다. 리스포크 치환 원칙은 부모 객체와 이를 상속한 자식 객체가 있을 때 부모 객체를 호출하는 동작에서 자식 객체가 부모 객체를 완전히 대체할 수 있다는 원칙이다. type T interface { SomeThing() } type S struct { } func (s *S) SomeThing() { fmt.Println("type S의 Something") } type U struct { } func (u *U) SomeThing() { fmt.Println("type..
1. 클래스란 ? - 클래스는 객체지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀이다. 객체를 정의하기 위한 상태(변수)와 메서드(함수)로 이루어 진다. 2. 클래스 선언 및 사용 # 클래스 선언 class Person: pass # 객체 생성 person = Person() 3. 생성자 - 클래스 이름과 같은 함수를 '생성자'라고 부른다. 클래스 내부에 '__init__ 함수'를 만들어 생성자를 정의한다. def __init__(self, 추가 매개변수): pass 첫번째 매개변수는 반드시 self를 입력해야 하고, self는 클래스 자기 자신을 의미한다고 보면 된다. 4. 소멸자 - 객체가 소멸할때 소멸자가 호출된다. 클래스 내부에 '__del__ 함수'를 만들어 소..
has-a 모델의 두개의 클래스 간 정보를 주고 받기 위해서는 callback을 활용할 수 있다. 예를들어 class A가 class B를 갖고 있다고 하자. A클래스 객채에서는 B클래스에 있는 변수나 함수를 사용하기 용이하지만 B클래스 객체에서는 A클래스에 접근하기 힘들다. 이럴때 callback을 이용하여 B클래스에서 A클래스에 있는 변수나 함수에 접근할 수 있다. ( 보통 B클래스 작업을 마무리 하고 A클래스에 통보할 일이 필요할 때 이를 활용하게 된다.) ex) class Callback { public: // 구현은 이를 상속하는 클래스에서 하기 때문에 // virtual 즉, 가상의 함수로 선언한다. virtual void done() = 0; }; class B { public: // cal..