More actions
imported>computer6561 No edit summary |
imported>computer6561 No edit summary |
||
| Line 35: | Line 35: | ||
str.equalsIgnoreCase(str1); | str.equalsIgnoreCase(str1); | ||
대소문자 구별 않고 비교 | 대소문자 구별 않고 비교 | ||
from 김용준 wiki | |||
* 오버 라이딩 VS 오버로딩 | * 오버 라이딩 VS 오버로딩 | ||
| Line 49: | Line 51: | ||
** this는 자신 클래스 안의 것을 가리키다면 super()는 자손 클래스와 조상 클래스의 두 변수가 같을 때 자손 클래스에서 조상 클래스의 변수를 가리 킬 때 쓰는 것이다. | ** this는 자신 클래스 안의 것을 가리키다면 super()는 자손 클래스와 조상 클래스의 두 변수가 같을 때 자손 클래스에서 조상 클래스의 변수를 가리 킬 때 쓰는 것이다. | ||
** super()는 상위 클래스의 생성자를 가리 킬때도 쓰인다. | ** super()는 상위 클래스의 생성자를 가리 킬때도 쓰인다. | ||
* 클래스가 .class 확장자의 파일인 것 처럼 패키지는 사실 물리적으로 폴더다. | |||
** 이클립스에서 패키지를 만들고 그 안에 클래스를 만들면 그 클래스 제일 위에 폴더 이름이 나타난다. | |||
** import 패키지명.클래스. * | |||
** *(와일드 카드) : 패키지 안, 클래스 안 모든 메서드를 다 쓰겠다는 것. | |||
* 제어자 - static, final, static final, abstract | |||
** 제어자는 접근 권한을 제한하는 것. | |||
** final은 C에서 const와 같은 것이다. | |||
** final 변수를 만들고 그 변수를 생성자 안에서 초기화를 하면 객체마다 가격을 지정하면서 가격이 변하지 않게 할 수 있다. | |||
** static은 instant하지 않고도 쓸 수 있는 것. static이 붙은 변수를 클래스 변수라고 한다. | |||
** static final은 static과 final의 합쳐진 형태로 모두가 필요하나 값이 변하면 안되는 상수 같은 경우에 쓰인다. (Ex : PI) | |||
** abstract는 내용 여부를 정확히 모를 때 일단 형태만 만들어 놓고 나중에 가져다 쓰는것. | |||
** class를 추상화 하는 것이 아니라 사실 메서드에 쓰는 것이다. class 앞에 붙은 이유는 그 클래스 안에 abstract method가 있다고 나타내는 것이다. | |||
** abstract는 같은 클래스 내에서 설정을 하지 못하며 다른 클래스에서 무조건 설정을 해줘야한다. | |||
*** 그래서 abstract는 private로 설정 할 수 없다. | |||
* | * | ||
Revision as of 04:18, 17 July 2014
일시
참가자
| 유재범 | 참석 |
| 최다인 | |
| 이지수 | 참석 |
| 김용준 | 참석 |
| 김정민 |
진행 상황
- 김용준 학우의 발표
- Java의 정석 - Chapter 7
발표 내용
- 상속 - 상속을 받은 자손 클래스는 상속을 해준 조상 클래스의 메서드를 쓸 수 있다.
- JAVA는 단일상속만 지원한다.(C++는 다중 상속을 지원한다.)
- 다중상속의 단점은 자손 클래스에서 한 메서드나 변수를 가져 올 때 동명의 조상 클래스에서 오면 이것이 어디서 오는건지 모르는 것이다.
- Object class : 상속 받는 클래스가 없다면 그 클래스는 Object class에게 상속을 받는다. 모든 것의 조상격이다.
- 11가지의 메서드를 기본적으로 가지고 있다. (toString() 등등)
- toString() : 아무 숫자를 문자열로 바꾸어 주는 메서드
str.equals(str1); 비교 str.equalsIgnoreCase(str1); 대소문자 구별 않고 비교 from 김용준 wiki
- 오버 라이딩 VS 오버로딩
- 간단히 설명해서 오버로딩은 기능을 추가하는 것이라면 오버 라이딩은 내용을 수정하는 것이다.
- 오버 라이딩은 이름, 매개변수, return 타입이 같아야 하지만 오버로딩은 이름과 return은 같아야 하고 매개변수가 달라야 한다.
- 오버 라이딩은 매개변수, 이름, return 타입이 다르면 오버라이딩이 되지 않는다.
- 오버라이딩의 규칙
- 오버라이딩 할 때에는 접근 제한자의 범위가 조상 클래스의 메서드보다 같거나 커야한다.(private < package < protected < public)
- 오버라이딩 된 하위 클래스의 메서드는 throws 구문이 있으면 상위 클래스의 오버라이딩을 준 메서드도 반드시 해당 예외 클래스를 준하는 throws 구문이 있어야 한다.
- 예외 처리는 자손 클래스가 조상 클래스보다 더 많이 할 수 없다.
- static 메서드를 조상 클래스에서 인스턴스 메서드로 오버라이딩이 불가능하다.
- super() 조상 클래스를 따라가는 this와 같은 것.
- this는 자신 클래스 안의 것을 가리키다면 super()는 자손 클래스와 조상 클래스의 두 변수가 같을 때 자손 클래스에서 조상 클래스의 변수를 가리 킬 때 쓰는 것이다.
- super()는 상위 클래스의 생성자를 가리 킬때도 쓰인다.
- 클래스가 .class 확장자의 파일인 것 처럼 패키지는 사실 물리적으로 폴더다.
- 이클립스에서 패키지를 만들고 그 안에 클래스를 만들면 그 클래스 제일 위에 폴더 이름이 나타난다.
- import 패키지명.클래스. *
- *(와일드 카드) : 패키지 안, 클래스 안 모든 메서드를 다 쓰겠다는 것.
- 제어자 - static, final, static final, abstract
- 제어자는 접근 권한을 제한하는 것.
- final은 C에서 const와 같은 것이다.
- final 변수를 만들고 그 변수를 생성자 안에서 초기화를 하면 객체마다 가격을 지정하면서 가격이 변하지 않게 할 수 있다.
- static은 instant하지 않고도 쓸 수 있는 것. static이 붙은 변수를 클래스 변수라고 한다.
- static final은 static과 final의 합쳐진 형태로 모두가 필요하나 값이 변하면 안되는 상수 같은 경우에 쓰인다. (Ex : PI)
- abstract는 내용 여부를 정확히 모를 때 일단 형태만 만들어 놓고 나중에 가져다 쓰는것.
- class를 추상화 하는 것이 아니라 사실 메서드에 쓰는 것이다. class 앞에 붙은 이유는 그 클래스 안에 abstract method가 있다고 나타내는 것이다.
- abstract는 같은 클래스 내에서 설정을 하지 못하며 다른 클래스에서 무조건 설정을 해줘야한다.
- 그래서 abstract는 private로 설정 할 수 없다.
다음 진행
- Chapter
- 발표 :
과제
유재범
최다인
이지수
김용준
김정민
후기
- 미리 만듭니다. 이제부터 날리지 않겠습니다. - 유재범