분류 전체보기

· APP/Dart
/* 함수형 프로그래밍에 기본은 형변환임 보통 리스트, 멥, 셋 같은 자료형을 사용함 */ void main(){ List blackpink = ["로제", "지수", "리사", "제니","제니"]; print(blackpink); print(blackpink.asMap()); // map으로 변환 print(blackpink.toSet()); // Set 함수로 변환 // set 자료형은 중복을 허용 하지 않기 때문에 제니가 한번 출력됨 // 리스트로 Map 자료형 형변환 Map blackpinkMap = blackpink.asMap(); print(blackpinkMap.keys); print(blackpinkMap.values); /* (0, 1, 2, 3, 4) (로제, 지수, 리사, 제니, 제니..
· APP/Dart
// 왜 클레스를 사용하여 코딩 하는걸 oop 라고 하는가? // Object Oriented Programming // 객체지향 프로그래밍 void main(){ Test test = Test(); //test. /* 아래 클레스에서 아무것도 선언 하지 않았는데도 이미 4개의 속성이 존재하고 있음 */ } class Test extends Object{} class Test{} 위 코드는 두개가 완전 동일 한것임 왜냐 모든 class는 선언하자마자 extends Object 부분을 생략 하기 때문임 모든 class는 Object를 상속받음 그래서 모든 class의 최상위 부모는 Object 임 그리고 이 Object 라는 클래스에서 제공해주는 기능들이 아무것도 하지 않았을때 제공 해주는 4가지 기능임 ..
· APP/Dart
// Generic - 타입을 외부에서 받을때 사용 List names = []; // 리스트 선언할때 했었음 List 이 부분임 리스트 안에 String 자료형이 들어간다. void main(){ //List names = []; // 리스트 선언할때 했었음 // id 값 String 값으로 넣고 싶다면 이렇게 Generic 부분에 지정할 타입 값 넣을때 '123' 이렇게 문자로 보내주면됨 Lecture lecture1 = Lecture('123', 'lecture1'); } // Generic - 타입을 외부에서 받을때 사용 class Lecture{ // T말고 어떤 이름이던 상관 없음 final T id; // id의 자료형 즉 뭐가 될지 외부에서 선언할수 있음 가끔 이런게 필요한 상황이 있음 f..
· APP/Dart
// Interface // 다른 언어에서는 Interface 키워드가 있는 경우가 많은데 dart에서는 class 라는 키워드를 사용함 ex 자바는 Interface 키워드 이용 class IdolInterface { String name; // 실제 인터페이스를 만들때 사용하려는게 아니고 다른 클레스를 만들때 // IdolInterface 를 사용해서 이 선언되어있는 형태를 지킬수 있도록 사용할거임 IdolInterface(this.name); void sayName(); } 인스턴스란 한마디로 이 규격을 지켜서 클레스를 만들어라라는 방안을 만드는 것임 그래서 실제 안에 기능들이 없어도 됨 인터페이스 이용하는 법 class BoyGroup implements IdolInterface // extend..
· APP/Dart
// static은 instance에 귀속 되지 않고 class에 귀속된다 이게 무슨말이냐면 일단 인스턴스에 귀속된다라는건 아래와 같음 void main(){ Employee seulgi = Employee('슬기'); Employee chorong = Employee('초롱'); seulgi.name = "우기"; // 이걸 인스턴스에 귀속된다고 함 seulgi.printNameAndBuilding(); chorong.printNameAndBuilding(); // 이 두값이 다름 // 같은 클레스 에서 인스턴스를 만들었는데 함수를 실행하거나 값을 가져오면 그 값은 각각 변수에 //따라 다름 // seulgi.name = "우기"; 한다고 해서 초롱이도 우기가 되지 않음 } class Employee{..
· APP/Dart
//method - function (class 내부에 있는 함수) 즉 클레스 내부에 함수가 있으면 그걸 메서드라고 부름 어떤 OOP 에서도 마찮가지임 // override - 덮어쓰다 (우선시 하다) override는 상속 받은 자식에서 가능 한거임 void main() { TimesTwo tt = TimesTwo(2); print(tt.calculate()); TimesFour tf = TimesFour(2); // 부모꺼 이용 가능 print(tf.calculate()); } //method - function (class 내부에 있는 함수) // override - 덮어쓰다 (우선시 하다) class TimesTwo{ final int number; TimesTwo( this.number, // ..
· APP/Dart
모든 객체지향 프로그래밍 꽃 상속 (Inheritance) 이걸 잘하냐 못하냐에 따라 OOP 코드를 작성하는 퀄리티가 달라짐 아래는 기본 Idol 클레스인데 (기본코드) 이 클레스를 활용하여 상속이 어떤건지 살펴 볼거임 모든 OOP 언어에 상속 기능이 있고 사실상 이 클레스 상속을 사용하기 위해 고안되었다 봐도 무방함 상속을 받으면 부모 클래스의 모든 속성을 자식 클래스가 부여 받음 void main() { print('--------Idol---------'); Idol apink = Idol(name: "에이핑크", membersCount: 5); apink.sayname(); apink.sayMembersCount(); } class Idol{ // 이름 String name; // 멤버 숫자 in..
· APP/Dart
// Private 속성 이 파일 외부에서 사용할수 없는 값들 이 파일을 import 해도 안딸려옴 // 즉 아래 클레스 이파일을 import 해도 사용 못함 // 대부분의 것들 다 Private 으로 만들수 있음 (변수, 함수, 클레스..) 이름 앞에 _ 이거 하나만 넣어주면 됨 void main() { _Idol blackPink = _Idol( // 선언할때도 프라이빗으로 선언 "블랙핑크", ['지수', '제니', '리사', '로제'], ); _Idol bts = _Idol.fromList([ ['RM', '진', '슈가', '뷔', '정국'], "BTS", ]); print(blackPink.firstMember); print(bts.firstMember); } // Private 속성 이 파일 ..
개발자 aloe
'분류 전체보기' 카테고리의 글 목록 (16 Page)