Interface (3) 썸네일형 리스트형 [GO] Todo list - interface 구현2 sqllite 로 변경하는 중간과정으로 interface 구조를 구현하던중, DB 의 Close 기능은 main.go 까지 전달해야해서 변경사항이 예상보다 많았습니다. 1. 기존에 model 에서 처리하던 interface 이름을 공개하여 app.go -> main.go 까지 전달함. 2. 해당 interface 이름을 공개하며 인터페이스 및 매소드명을 대문자로 모두 변경함. 기본 구조는 아래와 같음. model.go package model import ( "time" ) type Todo struct { ID int `json:"id"` Name string `json:"name"` Completed bool `json:"completed"` CreatedAt time.Time `json:"creat.. [GO] Todo list - interface 구현1 다음 단계는 map 방식의 구조에서 sqlite DB 형식으로 todo list 저장방식을 변경할 예정입니다. 그래서 구조변경을 쉽게할수 있는 interface 방식으로 구조를 변경하는 샘플입니다. interface 의 장점은 특정 기능을 변경시, 간결하여 유지보수가 쉬운 장점이 있다. 예를 들면, todo lists 를 저장하는 방식을 메모리방식에서 DB 방식으로 변경시 수정사항을 최소화 할 수 있다. 코딩량이 줄어 든다는 의미는 아니고, 변경사항을 최소화하여 오류 발생 가능성을 최소화 할 수 있다. 기본 구조는 아래와 같다. ./model/model.go 변경 사항 1. interface 에 실제 함수 기능 선언 package model import ( "time" ) type Todo struct .. [Dart] Class - interface void main() { GradeA kim = new GradeA('kim'); kim.sayName(); GradeB lee = new GradeB('lee'); lee.sayName(); } // 학생, 학생이름 class Student { String? name; void sayName() {} } class GradeA implements Student { String? name; GradeA(this.name); void sayName() { print('My name is ${this.name}'); } } class GradeB implements Student { String? name; GradeB(this.name); void sayName() { print('My name is ${.. 이전 1 다음