티스토리 뷰
객체지향언어 : java, c++, c#
객체지향언어의 3가지 특징
1.상속
2.다형성
3.완전캡슐화
# 다형적변수
자식의 메서드중에서 오버라이딩된 메서드만 접근할 수 있다.
[sy] 부모 다형적변수=new 자식();
자식 다형적변수=new 부모(); // 컴파일에러
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 |
[ex]
class A{}
class B exstends A{}
class C{
public static void main(String args[]){
A o1=new A();
B o2=new A(); // 컴파일에러
A o3=new B(); // 다형적변수
Object o4=new B(); // 다형적변수
Object o5=o1; // 다형적변수
B o6=o1; // 컴파일에러
}
}
[ex]
class Animal{
void sound(){}
}
class Dog extends Animal{
void sound(){ System.out.println("멍멍"); }
}
class Cat extends Animal{
void sound(){ System.out.println("야옹"); }
}
class SoundTest{
//here
}
class A{
public static void main(String args[]){
Dog dog=new Dog();
Cat cat=new Cat();
SoundTest st=new SoundTest();
st.test(dog);
st.test(cat);
}
}
[an]
class SoundTest{
void test(Animal animal){ animal.sound(); }
} |
cs |
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] 자료형변환 (0) | 2017.11.15 |
---|---|
[JAVA] 기타제어자 (0) | 2017.11.15 |
[JAVA] 메서드 오버로딩,오버라이딩 (0) | 2017.11.15 |
[JAVA] 접근제어자 (0) | 2017.11.15 |
[JAVA] 상속 (0) | 2017.11.15 |
댓글