java, android 스터티2

42
JAVA, Android 스터디 2015.04.07 김희준

Upload: heejun-kim

Post on 18-Jul-2015

61 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Java, android 스터티2

JAVA, Android 스터디

2015.04.07

김희준

Page 2: Java, android 스터티2

0. 지난주 복습

Page 3: Java, android 스터티2

0. 지난주 복습

Page 4: Java, android 스터티2

0. 지난주 복습

Page 5: Java, android 스터티2

0. 지난주 복습

Page 6: Java, android 스터티2

0. 지난주 복습

Page 7: Java, android 스터티2

0. 지난주 복습

Page 8: Java, android 스터티2

0. 지난주 복습

Page 9: Java, android 스터티2

0. 지난주 복습

Page 10: Java, android 스터티2

0. 지난주 복습

Page 11: Java, android 스터티2

0. 지난주 복습

Page 12: Java, android 스터티2

0.5 지난주 과제

홀수숫자만 있는 구구단 소용돌이

Page 13: Java, android 스터티2

1. 클래스

• 생성자의 특징

– 생성자는 메소드(생성자도 함수이다!!)

– 생성자 이름은 클래스 이름과 동일

– 생성자는 new를 통해 객체를 생성할 때만 호출됨

– 생성자도 오버로딩 가능

– 생성자는 리턴 타입을 지정할 수 없다.

– 생성자는 하나 이상 선언되어야 함

• 개발자가 생성자를 정의하지 않으면 자동으로 기본 생성자 정의됨

– 컴파일러에 의해 자동 생성

– 기본 생성자를 디폴트 생성자(default constructor)라고도 함

Page 14: Java, android 스터티2

1. 클래스(생성자)

Page 15: Java, android 스터티2

1. 클래스(생성자)

콘솔창에 출력시->

Page 16: Java, android 스터티2

• EX 1)

- 자신의 학번과 이름을 받을 수 있는 클래스를 만든다.

(학번 -> int형 , 이름 -> String 객체)

- 생성자 4개 만들기

( 그냥 생성, 학번을 가지고 생성, 이름을 가지고 생성,

학번과 이름을 가지고 생성)

- 학번 이나 이름을 안주고 만든 클래스는 0과”none”으로 초기화

1. 클래스(생성자)

Page 17: Java, android 스터티2

• EX 1)

- 자신의 학번과 이름을 받을 수 있는 클래스를 만든다.

(학번 -> int형 , 이름 -> String 객체)

- 생성자 4개 만들기

( 그냥 생성, 학번을 가지고 생성, 이름을 가지고 생성,

학번과 이름을 가지고 생성)

- 학번 이나 이름을 안주고 만든 클래스는 0과”none”으로 초기화

1. 클래스(생성자)

Page 18: Java, android 스터티2

1. 클래스(생성자)

힌트 :class (클래스명){ //클래스

(클래스명) (){ //생성자…..

}}

Page 19: Java, android 스터티2

1. 클래스(생성자)

힌트 :class (클래스명){ //클래스

(클래스명) (){ //생성자…..

}}

힌트 :class (클래스명){ //클래스

(클래스명) (){ //생성자this.(변수명) = …

}}

Page 20: Java, android 스터티2

1. 클래스(생성자)

Page 21: Java, android 스터티2

1. 클래스(생성자)

Page 22: Java, android 스터티2

2. 클래스(접근지정자)

Page 23: Java, android 스터티2

23

private 접근 지정자 사례

public 접근 지정자 사례

2. 클래스(접근지정자)

Page 24: Java, android 스터티2

protected 접근 지정자 사례

default 접근 지정자 사례

24

2. 클래스(접근지정자)

Page 25: Java, android 스터티2

2. 클래스(접근지정자)

• EX 2)

- EX1에서 작성한 프로그램을 이용해서 접근지정자 예제 실습

- 학번정보를 “private”로 설정 한다.

- 객체(인스턴스)생성시 기본생성자로 생성한다.

- 학번정보를 수정하고 얻을 수 있는 메소드 2개를 작성한다.

Page 26: Java, android 스터티2

2. 클래스(접근지정자)

• EX 2)

- EX1에서 작성한 프로그램을 이용해서 접근지정자 예제 실습

- 학번정보를 “private”로 설정 한다.

- 객체(인스턴스)생성시 기본생성자로 생성한다.

- 학번정보를 수정하고 얻을 수 있는 메소드 2개를 작성한다.

- 학번

Page 27: Java, android 스터티2

2. 클래스(접근지정자)

• EX 2)

- EX1에서 작성한 프로그램을 이용해서 접근지정자 예제 실습

- 학번정보를 “private”로 설정 한다.

- 객체(인스턴스)생성시 기본생성자로 생성한다.

- 학번정보를 수정하고 얻을 수 있는 메소드 2개를 작성한다.

Page 28: Java, android 스터티2

2. 클래스(접근지정자)

힌트 :class (클래스명){ //클래스

…….private (변수명)getNum // 메소드setNum // 메소드

}

Page 29: Java, android 스터티2

2. 클래스(접근지정자)

힌트 :class (클래스명){ //클래스

…….private (변수명)getNum // 메소드setNum // 메소드

}

힌트 :public int getNum(){

return …..}puvlic setNum(int st_number){}

Page 30: Java, android 스터티2

2. 클래스(접근지정자)

Page 31: Java, android 스터티2

• 객체 배열 생성 및 사용

31

3. 클래스(객체배열)

Page 32: Java, android 스터티2

32

public static void main(String [] args) {Person[] pa;pa = new Person[10];for (int i=0;i<pa.length;i++) {

pa[i] = new Person();pa[i].age = 30 + i;

}

for (int i=0;i<pa.length;i++)System.out.print(pa[i].age+” “);

}

30 31 32 33 34 35 36 37 38 39

3. 클래스(객체배열)

Page 33: Java, android 스터티2

3. 클래스(객체배열)

• EX 3)

- EX2에서 작성한 프로그램을 이용해서 객체배열 예제 실습

- 4개의 객체배열을 생성한다(기본생성자 이용)

- 객체배열에 학번값을 넣어준다.(20xxxxxxx0, 20xxxxxxx1 …)

- 학번값 출력

Page 34: Java, android 스터티2

3. 클래스(객체배열)

• EX 3)

- EX2에서 작성한 프로그램을 이용해서 객체배열 예제 실습

- 4개의 객체배열을 생성한다(기본생성자 이용)

- 객체배열에 학번값을 넣어준다.(20xxxxxxx0, 20xxxxxxx1 …)

- 학번값 출력

Page 35: Java, android 스터티2

3. 클래스(객체배열)

힌트 :(클래스명) (변수이름)[] = new (클래스명)[ … ]

Page 36: Java, android 스터티2

3. 클래스(객체배열)

힌트 :(클래스명) (변수이름)[] = new (클래스명)[ … ]

힌트 :for(….;….;…..)

{(변수이름)[] = 생성자…..…..

}

Page 37: Java, android 스터티2

3. 클래스(객체배열)

Page 38: Java, android 스터티2

• 클래스

- 클래스는 생성자를 이용해 상속 받을 때 초기화 시킬 수 있다.

- 오버로딩이 지원되므로 여러 개의 생성자를 이용 가능하다.

- 모두 사용할 수 있는 접근지정자 public

- 해당 클래스만 사용할 수 있는 접근지정자 private

- private인 경우 해당 클래스 내 public 메소드 이용 접근 가능

- 객체도 레퍼런스 변수이다.(포인터의 개념과 유사)

- 따라서 객체배열 생성시 2차원 배열이 생성된다.

4. 정리

Page 39: Java, android 스터티2

• EX 4 + HW2)

- 끝말잇기(228p) // 공연예약 시스템(237p) // 로또번호 추첨

- 위 세가지 과제 중 택 1하여 다음주 시연

- 시연 후, 알고리즘 및 코드내용 설명(주석 필요없음)

- 컨트롤 c + v 가능, 대신 설명가능 해야함.

- 클래스를(두 개 이상) 이용하여 구현하기

4. 정리

Page 40: Java, android 스터티2

• EX 4 + HW2) 샘플(끝말잇기)

4. 정리

Page 41: Java, android 스터티2

Q & A

Page 42: Java, android 스터티2

Thank you!!