Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 오름캠프
- 플러터
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
- 생존코딩
- 모두의연구소 오준석생존코딩 오름캠프
- 오름캠프플러터
- 오준석의 생존코딩
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- 패스트 캠퍼스
- ㅇ
- 모두연구소
- 오준석의생존코딩
- 모두의연구소
- 오존석의 생존코딩
Archives
- Today
- Total
꾸준히 하고싶은 개발자
8일차 다형성 본문
다형성 (polymorphism) 폴리모피즘
개발 을 즐겁게 다형성
어떤 것을 이렇게도 볼 수 있고, 저렇게도 볼 수 있는 것
캐릭터 가있고 오른쪽에 배트맨 왼쪽에 슈퍼맨 = 캐릭터
세부적인 부분은 다르지만 형태를 보면 캐릭터
집을 그리다 개를 그리다 카를 그리다 여기서 그리다 메서드 이름같지만 각각의 기능 속성 다 다르다 다형성이다.
abstract interface class Drawable {
void draw();
}
인터페이스 도 타입이다
class House implements Drawable {
void draw() {
...
}
}
Drawable element = House(...);
List<Drawable> elements = [ ];
elements.add(Dog(...));
ex) 리스트 제네릭안에 캐릭터 넣으면 슈퍼맨 배트맨 등 넣을 수있다.
Drawable drawable = Rectangle(...);
Drawable drawable = Rectangle(...);
인터페이스 특징을 가지면 내맘대로 사용할 수있다.
다형성 활용 방법
선언을 상위 개념으로 인스턴스 생성은 하위 개념으로 한다.
추상적인 선언 = new 상세 정의
유형 자산
무게 를 쓸 수도 있다. 상위 클래스 도 쓸수있다.
인스턴스 선언 할때
캐릭터 안에 위자드 들어간다. → 결론 케릭터는 마법사의 기능 파이어볼 을 사용할 수없다.
형변환
캐스팅 실패가 되면 오류가난다.
히어로 는 파이어볼 없다 .
인스턴스의 타입 체크와 smart cast
안전하게 캐스팅이된다.
다형성
고블린
고블안에 슬라임과 고블린 있다.
같은 기능 인터페이스 그룹핑 하겠다
내 맘대로 코드를 사용하겠다.
휴먼 안에 학생과 선생님이 있다.
sword 인스턴스
double 안에 int 가 안들어간다.
num 안에 int 와 double 있다. → 다형성 is -a 관계다
변환해서 바꿀수 있다.
to String : 스트링으로변환 to int : int 변환 to double : 실수로 변환 (소수)
dart operator
-
- :더하기 -: 빼기 *: 곱하기 나누기 :/ %: 몫으로나눈 나머지 ~/: 몫으로 나뉜다.
반올림
올림
- 올림 함수 : ceil() // ceiling 천장으로 올린다.
- 내림 함수: floor() // floor 바닥으로 내림 . 버림.
- 반올림: round() 정도 알아두시고 필요할 때 문서 참조해서 찾아서 사용하시면 됩니다~
인터페이스
인터페이스 여러개 만들다 보면 교집 합 처럼 될 수있다.]
'모두의연구소' 카테고리의 다른 글
10일 제네릭 (0) | 2023.12.08 |
---|---|
9일차 인스턴스 (1) | 2023.12.07 |
7일차 추상클래스와 인터페이스 (1) | 2023.12.05 |
7일차 상속 (inheritance) (2) | 2023.12.05 |
6일차 캡슐화 (encapsulation) (0) | 2023.12.04 |