추상화
C언어에서는 함수로 캡슐화를 한다.
- Struct
Class와 다른점
Class는 필드들을 private으로 설정하면 직접 access 불가능
Class 안에서 get, set으로 access 해야 한다.
어느 언어든지 추상화를 지원한다. (객체지향 언어가 높은 수준의 추상화를 지원한다.)
추상화 = 어떤 영역에서 필요로 하는 속성이나 행위를 추출하는 작업
키 or 혈액형 등등..
-
학사 지원 시스템에서 불필요
-
병원 지원 시스템에서 필요
Vector 클래스를 사용(위임)해 Stack 클래스를 구현하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Vector;
public class VStack{
private Vector<String> v = new Vector<String>();
public void push(String element){
v.add(element);
}
public String pop(){
if(isEmpty()==true) return "Can not";
return v.remove(v.size()-1);
}
public boolean isEmpty(){
return v.isEmpty()
}
public int size(){
return v.size()
}
벡터로 구현한 스택 부분
1
2
3
4
5
6
7
public class Test{
VStack vs = new VStack();
boolean x = vs.isEmpty();
int siz = vs.size();
vs.push("damin");
String Last = vs.pop();
}
스택 활용