java 교육 요약하기

18
JAVA JAVA 교교 교교교교 교교 교교교교 1 조 (DAY 1)

Upload: nero-cross

Post on 02-Jan-2016

44 views

Category:

Documents


3 download

DESCRIPTION

JAVA 교육 요약하기. 1 조 (DAY 1). 1. 명령법. * 특수문자는 사용하지 않는다 .(@,!^ ETC.) * 문자는 가능 (JaVa, 한글도 가능 BUT 영어로 ) * 숫자는 2 번째부터 가능하다 .(2Aaa(x),A2Aaa(o)) *$,_( 되도록사용 x ). 이름 명령법. Pascal- > 대소소소대소 - 클래스관련 eg)HelloMyNameIs Camel( 낙타 ) -> 소소대소소대 - 메소드관련 , 멤버 eg)helloMyNameIs - PowerPoint PPT Presentation

TRANSCRIPT

JAVA JAVA 교육 요약하기교육 요약하기

1 조 (DAY 1)

- 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

- 17/17 -

14. JDBC 6 단계

2. DB 연결 , 쿼리 연결 및 실행

- 18/17 -

14. JDBC 6 단계

3. 쿼리 출력 , 예외처리 , 연결 종료