Post on 02-Jan-2016
description
- 2/17 -
* 특수문자는 사용하지 않는다 .(@,!^ ETC.)* 문자는 가능 (JaVa, 한글도 가능 BUT 영어로)* 숫자는 2 번째부터 가능하다 .(2Aaa(x),A2Aaa(o))*$,_( 되도록사용 x )
1. 명령법
이름 명령법① Pascal-> 대소소소대소 - 클래스관련 eg)HelloMyNameIs② Camel( 낙타 )-> 소소대소소대 - 메소드관련 , 멤버 eg)helloMyNameIs③ Hungarian( 요약어 : 권장 x)-but 윈도어플리케이션 (SWING,AWT..) 에는 쓰임④ Upper( 상수 :static final / 변수는 대문자 ) static final double PI= 3.14....; e
x)Math.PI, Math.E ⑤ Lower 패키지 java.lang, java.util 키워드 ( 예약어 )
- 3/17 -
2.block 변수상위 블록에서 정의된 변수는 하위 블록에서 사용할 수 있지만 하위블록에 정의된 변수는 상위 블록에서 사용할 수 없다 . JAVA 에서 통용되는 변수이름이다 . C 언어에서는 지역변수라 불리운다 .
Public class RangeMain
{
public static void main (String [] args) {
int d =10;
{ int c = 20;
{ int b = 30;
{ int a = 40;
a = 200; b = 1000; c = 2000; d = 50;
} // end a
} // end b
}// end c
}
}
- 4/17 -
Static final
3. 상수
•상수로 선언된 값은 변하지 않는다 .•전부 대문자로 기록
사용예public static final double ME=5.34;※ 여기에서 ME 가 상수로 선언된 변수이다 .( 대문자 )※ static 이기때문에 객체 생성 없이 클래스명으로 접근 가능 !!
- 5/17 -
4.static
① static 에서는 static 을 쓸 수 있다 .( 같은 클래스에서 )
② static: class 이름 . 메소드 () -> 멤버변수 사용 X
③ non static: 객체 . 메소드 () -> 멤버변수 사용 0
④ static 으로 선언된 함수에서는 non static 을 사용할 수 없다 .
⑤ non static 에서 static 을 사용할 수 있다 .
① static 에서는 static 을 쓸 수 있다 .( 같은 클래스에서 )
② static: class 이름 . 메소드 () -> 멤버변수 사용 X
③ non static: 객체 . 메소드 () -> 멤버변수 사용 0
④ static 으로 선언된 함수에서는 non static 을 사용할 수 없다 .
⑤ non static 에서 static 을 사용할 수 있다 .
Ex)Ex)
- 6/17 -
5. 메소드
타입타입
staticstatic non-staticnon-static
반환값반환값
voidvoid returnreturn
작성방법작성방법
APIAPI USER_defineUSER_define
- 7/17 -
6. 메모리구조
e1e1
stackstack heapheap
AF
EleEle
hash codereference
staticstatic
EleEle
Ele e1 = new AF();Ele e1 = new AF();
static 에는 부모 설계도 , 붕어빵 틀 생성 stack 에는 자주 쓰이는 기본타입들 (int,double 등 ) heap 에는 참조 타입들 ( 계층 구조 성립 : is a)
- 8/17 -
I. 자식이 생성되면 부모가 생성된다 .
II. 자식의 설계도가 올라가면 부모의 설계도도 올라간다 .
III.생성된 주소는 부모의 주소를 가리킨다 .( 부모를 참조한다 .)
IV.설계도에 공개된 메소드만 사용할 수 있다 .
7. 메모리 4 대 특징
- 9/17 -
발생원리 3 가지
1) 부모의 이름으로 자식을 생성Ele e1 = new AfEle();
2) 부모의 이름으로 자식을 받을 수 있다 .AfEle af1 = new AfEle();Ele e3 = af1;( 메모리 개념 이해 )
3) 부모의 메소드로 자식의 메소드를 호출할 수 있다 .( 단 오버라이딩 되어있을때 VMI( 메커니즘 ) 가 일어난다 .)
8. 다형성 (Polymorphism)
- 10/17 -
다양한 형태를 나타낼 수 있는 능력-> 자식의 종류에 따라 다양하게 호출
9. 다형성 (Polymorphism)
Eat()Eat()
Ele
AfEle AsiaEle
같은 eat() 메서드 이지만 상속받는 자식에 따라서 다양한 방법으로 호출 할 수 있다 .(오버라이딩 등 )
같은 eat() 메서드 이지만 상속받는 자식에 따라서 다양한 방법으로 호출 할 수 있다 .(오버라이딩 등 )
Eat()Eat()Eat()Eat()
- 11/17 -
10. 상속 (Inheritance)
부모의 private
static – overriding X
생성자 - 물려받지 못한다 .
부모의 private
static – overriding X
생성자 - 물려받지 못한다 .
•부모의 멤버를 물려받는다 .(extends, Generalization)
•오버라이딩이 안되는 경우
•extends 키워드를 사용•Generalization 이라고도 함•부모의 초기화시 super, 자신의 초기화시 this 를 사용
•extends 키워드를 사용•Generalization 이라고도 함•부모의 초기화시 super, 자신의 초기화시 this 를 사용
- 12/17 -
ObjectObject
AntAnt
1. Object 0 = new Object();2. Ant a = new Ant();3. Termite t = new Termite();
1. Object 0 = new Object();2. Ant a = new Ant();3. Termite t = new Termite();
사용할 수 있는 메서드 양
사용할 수 있는 메서드 양
10. 상속 (Inheritance)
TermiteTermite
33
3+23+2
초기화
초기화
- 13/17 -
11. OOP 의 3 대개념
은닉화 (Encapsulation)Data 보호 (field) member filed private
member method public메서드를 통하여 멤버필드에 접근
상속성 (Inheritance)부모의 member 를 물려받음 extends 키워드
다형성 (Polymorphism)다른 형태를 가질 수 있는 능력Reference : 부모의 이름으로 자식을 생성Argument : 부모의 이름으로 자식을 받음Method : (overriding) 부모 메서드로 자식 메서드를 호출
- 14/17 -
12. 은닉화
데이터를 보호메시지 호출 - 메소드 사용private- 클래스의 속성들을 private 으로 만들어 클래스 밖에서 함부로 건드리지 못하게 하는 것
private 로 선언된 멤버필드를 사용하기 위해 멤버필드를 메서드만 제공해서 그 메서드를 이용하여 접근
패키지jar( 아카이브 )- 컴포넌트 은닉화 강화
private field
private field class C class C
Public 메서드Public 메서드
P3P3
- 15/17 -
13. Interface
•모든 메서드가 추상메서드로 구성•바디가 없는 클래스•메서드의 나열 , 변수는 선언할 수 있다 .•인터페이스 끼리 extends 를 통해 기능을 물려받을 수 있다 .
- 16/17 -
14. JDBC 6 단계
1. driver loading2. DB 연결 , 쿼리 연결 및 실행3. 쿼리 출력 , 예외처리 , 연결종료
1. driver loading2. DB 연결 , 쿼리 연결 및 실행3. 쿼리 출력 , 예외처리 , 연결종료
동작확인OracleServiceORCLOracleOraDb10g_home1TNSListener
1. driver loading