OOP presentation 6 OOP Practices Kimjinsik Mobile computing
OOP presentation 6 OOP Practices 작성자 Kimjinsik 소속 Mobile computing Lab destiny 738. tistory. com
1. 추가 설명 - Object structure<class variable> 객체가 생성되면 객체의 모든 함수에서 사용가능 한 변수 class Name{ String first. Name; String last. Name; } <Method> 객체가 생성되면 외부와 통신이 가능하게 한다. Name(String f. Name, String l. Name){ first. Name = f. Name; last. Name = l. Name; } <생성자> public String return. Name(){ 객체가 생성될 때 호출 return frist. Name + “, ” + last. Name; 객체가 생성될 때 해야 } 할 일을 정의 클래스 변수를 초기화
2. 계산기 만들기 - Overload : 같은 이름으로 여러 동작!! class Calculation{ int sum. Int(int a, int b){ return a+b; } double sum. Double(double a, double b){ return a+b; } public static void main(String []args){ Calculation c = new Calculation(); System. out. println(sum. Int(3, 4)); System. out. println(sum. Double(3. 3, 4. 4); } }
2. 계산기 만들기 - Overload : 같은 이름으로 여러 동작!! class Calculation{ int sum (int a, int b){ return a+b; } double sum (double a, double b){ return a+b; } public static void main(String []args){ Calculation c = new Calculation(); System. out. println(sum (3, 4)); System. out. println(sum (3. 3, 4. 4); } } 난 생성자에서 유용하게 사용되지
2. 계산기 만들기 - Overload <프로그램 확장> 회사가 너무 잘나가서… 외국인도 사용하게 되어 이름 관리시 middle Name도 필요하게 되었다! class Name{ String first. Name; String middle. Name; 한국인 무시함? String last. Name; 한국인도 중간이름 만들어? Name(String f. Name, String m. Name, String l. Name){ first. Name = f. Name; middle. Name = m. Name; last. Name = l. Name; } public String return. Name(){ … 도와줘 Overload!! } 코더 사장
2. 계산기 만들기 - Overload class Name{ String first. Name; String middle. Name; String last. Name; Name(String f. Name, String m. Name, String l. Name){ first. Name = f. Name; middle. Name = m. Name; last. Name = l. Name; } Name(String f. Name, String l. Name){ first. Name = f. Name; middle. Name = “”; last. Name = l. Name; } …. } 코더 사장
3. Static - Keyword static C언어에서의 Static keyword? void printcount(){ int i = 0; i++; printf(“%d”, i); } int main(){ printcount(); printcount(); } void printcount(){ static int i = 0; i++; printf(“%d”, i); } 값이 함수의 특정 지속적으로 메모리에 int main(){ 유지시킨다. printcount(); printcount(); }
3. Static - Static 응용 class Name{ String first. Name; String last. Name; static int i = 0; i가 의미하는 것은? Name(String f. Name, String m. Name, String l. Name) { first. Name = f. Name; last. Name = l. Name; i++; } public String return. Name() { return frist. Name + “, ” + last. Name; } … }
- Slides: 15