25
JAVA, Android 스터디 2015.04.14 김희준

Java, android 스터티3

Embed Size (px)

Citation preview

Page 1: Java, android 스터티3

JAVA, Android 스터디

2015.04.14

김희준

Page 2: Java, android 스터티3

• EX 1)

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

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

- 생성자 4개 만들기

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

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

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

0. 지난주 복습

Page 3: Java, android 스터티3

0. 지난주 복습

Page 4: Java, android 스터티3

0. 지난주 복습

• EX 2)

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

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

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

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

Page 5: Java, android 스터티3

0. 지난주 복습

Page 6: Java, android 스터티3

0. 지난주 복습

• EX 3)

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

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

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

- 학번값 출력

Page 7: Java, android 스터티3

0. 지난주 복습

Page 8: Java, android 스터티3

• 클래스

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

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

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

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

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

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

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

0. 지난주 복습

Page 9: Java, android 스터티3

• EX 4 + HW2)

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

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

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

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

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

0.5 지난주 과제

Page 10: Java, android 스터티3

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

0.5 지난주 과제

Page 11: Java, android 스터티3

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

0.5 지난주 과제

Page 12: Java, android 스터티3

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

0.5 지난주 과제

Page 13: Java, android 스터티3

• 상속– 상위 클래스의 특성(필드, 메소드)을 하위 클래스에 물려주는 것

– 슈퍼 클래스 (superclass)

• 특성을 물려주는 상위 클래스

– 서브 클래스 (subclass)

• 특성을 물려 받는 하위 클래스

• 슈퍼 클래스에 자신만의 특성(필드, 메소드) 추가

• 슈퍼 클래스의 특성(메소드)을 수정 : 구체적으로 오버라이딩이라고 부름

• 다중 상속 불가능(extended뒤엔 오직하나의 클래스 가능)

• 슈퍼클래스에서하위클래스로갈수록구체적

– 예) 폰 -> 모바일폰 -> 뮤직폰

• 상속을 통해 간결한 서브 클래스 작성

– 동일한 특성을 재정의할 필요가 없어 서브 클래스가 간결해짐

13

1. 상속

Page 14: Java, android 스터티3

14

1. 상속

• EX 1(240p)- 점을 표시할 수 있도록 좌표 x,y를 설정하고 출력하는 클래스 작성

- 위의 클래스를 상속받아 좌표변수 x,y를 이용 색깔을 출력

Page 15: Java, android 스터티3

15

1. 상속

• EX 1(240p)

- 점을 표시할 수 있도록 좌표 x,y를 설정하고 출력하는 클래스 작성- 위의 클래스를 상속받아 좌표변수 x,y를 이용 색깔을 출력

Class Point{int x, y;void set(int x, int y)void showPoint()

}

pulbic class (클래스명) extends Point{void Color(String color)void showColorPoint()public static void main()

}

Page 16: Java, android 스터티3

16

1. 상속

• EX 1(240p)

작성

Page 17: Java, android 스터티3

• 서브 클래스의 객체와 멤버 접근

– 서브 클래스의 객체에는 슈퍼 클래스 멤버 포함

• 단, 슈퍼 클래스의 private 멤버는 상속되지 않음

– 서브 클래스에서 직접 접근 불가

• 슈퍼 클래스의 private 멤버는 슈퍼 클래스의 메소드를 통해 접근

17

2. 상속과 접근지정자

• 자바의 접근 지정자 4 가지

– public, protected, default, private

• 상속 관계에서 주의할 접근 지정자는 private와 protected

• 슈퍼 클래스의 private 멤버

– 슈퍼 클래스의 private 멤버는 모든 클래스에 접근 불허

• // 부모의 사유재산

• 슈퍼 클래스의 protected 멤버

– 같은 패키지 내의 모든 클래스는 접근

– 동일 패키지 여부와 상관없이 서브 클래스에서 슈퍼 클래스의protected 멤버 접근 가능

• // 부모 자식간에는 상속

Page 18: Java, android 스터티3

18

• EX 2(247p)- 클래스 Person을 아래와 같은 멤버 필드를 갖도록 선언하고 클래스

Student는 클래스 Person을 상속받아 각 멤버 필드에 값을 저장

- int age;

- pubilc String name;

- protected int height;

- private int weight;

2. 상속과 접근지정자

Page 19: Java, android 스터티3

19

• EX 2(247p)

2. 상속과 접근지정자

Page 20: Java, android 스터티3

20

3. 오버라이딩

Page 21: Java, android 스터티3

21

• EX 3(247p)- Person을 상속받는 Professor라는 새로운 클래스를 만들고

Professor클래스에서 getPhone()메소드를 오버라이딩 하라 그리고

이 메소드에서 슈퍼클래스의 getPhone() 메소드를 호출하도록

작성하라

3. 오버라이딩

Page 22: Java, android 스터티3

22

• EX 3(247p)- Person을 상속받는

Professor라는 새로운 클래스를

만들고 Professor클래스에서

getPhone()메소드를 오버라이딩

하라 그리고이 메소드에서 슈퍼

클래스의 getPhone() 메소드를

호출하도록 작성하라

3. 오버라이딩

Page 23: Java, android 스터티3

• 클래스- 다중 상속 불가능(extended뒤엔 오직하나의 클래스 가능)

- 슈퍼 클래스 (superclass)특성을 물려주는 상위 클래스

- 서브 클래스 (subclass) 특성을 물려 받는 하위 클래스

- 접근지정자는 private, default, protected, public 4가지

- 슈퍼 클래스의 private 멤버는 모든 클래스에 접근 불허

- 슈퍼 클래스의 메소드를 서브클래에서 재정의

- 동적바인딩 발생(오버라이딩이 된 메소드기 무조건 실행됨)

0. 지난주 복습

Page 24: Java, android 스터티3

Q & A

Page 25: Java, android 스터티3

Thank you!!