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
- 헤이큐
- 40HQ컨테이너40GP컨테이너차이
- 필터링후복사붙여넣기
- WHATTIMEOFTHEDAY
- 핸드캐리쿠리어차이점
- 슈퍼코딩
- 클린코드
- 웹API
- 우레탄지퍼
- 와끼
- 나일론지퍼
- 엑셀드래그단축키
- 비리짐
- MERN스택
- 비슬론지퍼
- TACKING
- 미국영어연음
- AATCC
- 고급영어단어
- 영어시간읽기
- 엑셀필터복사붙여넣기
- 지연환가료
- 40HQ컨테이너
- 엑셀자동서식
- 봉제용어
- 요척합의
- 미니마카
- 암홀트롭
- 자켓실측
- Armhole Drop
Archives
- Today
- Total
CASSIE'S BLOG
33강 다형성 본문
반응형
final이 뭐더라..
누가 내머리에 똥쌌어
= 어떤 동물이 범인인지 찾는 동화
동물이 똥 싸는 행위는 같을 수 있지만 똥은 다르거든? 동물마다?
타입을 따라가는게 아니라 객체를 따라간다고 함
Fish fishchild = new Fishchild(“동해“, true);
fishchild.eat(“크릴새우”);
여기서 타입은 Fish지만 FishChild의
메소드를 따라간다.
다형성이란?
하나의 타입이나 메소드가 여러 타입이나 메소드들을 가지거나 실행하는 능력이다.
자식 클래스가 부모 클래스를 상속받고 메소드를 override하면 자식 클래스가 다른 메소드를 가질 수 있는거다.
Test 클래스에 main함수에 static으로 메소드 올리면 이게 가능함
public static void feed (Animal animal, String food){
animal.eat(food);
}
접근제어자 뒤에 final 키워드 넣으면 된다고함.
package exercise.chapter_33;
public final class Animal {
// 속성
protected String gender;
// 행위
public void eat(String food){
System.out.printf("동물이 %s 을 먹습니다.\n",food);
}
public void sleep(){
System.out.println("동물이 잠을 자고 있습니다.");
}
}
타입은 Animal이지만 각각 인스턴스는 Bird, Fish 이므로
eat 메소드가 Bird의 eat, Fish의 eat 메소드 이렇게 실행된다.
반응형
'PROGRAMMING > 슈퍼코딩 강의 정리' 카테고리의 다른 글
[슈퍼코딩] 34-1강 객체 상속 실무 (0) | 2023.12.14 |
---|---|
36강 인터페이스 v1 (0) | 2023.12.14 |
[슈퍼코딩] 32강 객체의 상속 v2 (0) | 2023.12.13 |
[슈퍼코딩] 31강 객체의 상속 v1 + generate 단축키 설정 (option + i) (0) | 2023.12.12 |
[슈퍼코딩] 28강 자기 자신을 가르키는 this (0) | 2023.12.11 |