일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 영화
- bitcoin
- window
- c++
- windows
- 책
- go
- json
- install
- package
- Linux
- go언어
- API
- Callback
- Golang
- Python
- File
- range
- channel
- GO 언어
- Sync
- mutex
- FOR
- C
- 리뷰
- Close
- write
- JavaScript
- http
- tcp
- Today
- Total
목록상속 (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__ 함수'를 만들어 소..
Go언어는 클래스를 제공하지 않으므로 상속 또한 제공하지 않는다. 하지만 구조체에서 임베딩(Embedding)을 사용하면 상속과 같은 효과를 낼 수 있다. 먼저 간단하게 Has-a 관계를 정의해 보겠다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 type Person struct { // 사람 구조체 정의 name string age int } func(p *Person) greeting() { // greeting 함수 Person구조체에 연결 fmt.Println("Hello") } type Student struct { p Person // 학생 구조체 안에 사람 구조체를 필드로 가지고 있음( Has - a ) school string grade int }..