SlideShare a Scribd company logo
1 of 25
JAVA, Android 스터디
2015.04.14
김희준
• EX 1)
- 자신의 학번과 이름을 받을 수 있는 클래스를 만든다.
(학번 -> int형 , 이름 -> String 객체)
- 생성자 4개 만들기
( 그냥 생성, 학번을 가지고 생성, 이름을 가지고 생성,
학번과 이름을 가지고 생성)
- 학번 이나 이름을 안주고 만든 클래스는 0과”none”으로 초기화
0. 지난주 복습
0. 지난주 복습
0. 지난주 복습
• EX 2)
- EX1에서 작성한 프로그램을 이용해서 접근지정자 예제 실습
- 학번정보를 “private”로 설정 한다.
- 객체(인스턴스)생성시 기본생성자로 생성한다.
- 학번정보를 수정하고 얻을 수 있는 메소드 2개를 작성한다.
0. 지난주 복습
0. 지난주 복습
• EX 3)
- EX2에서 작성한 프로그램을 이용해서 객체배열 예제 실습
- 4개의 객체배열을 생성한다(기본생성자 이용)
- 객체배열에 학번값을 넣어준다.(20xxxxxxx0, 20xxxxxxx1 …)
- 학번값 출력
0. 지난주 복습
• 클래스
- 클래스는 생성자를 이용해 상속 받을 때 초기화 시킬 수 있다.
- 오버로딩이 지원되므로 여러 개의 생성자를 이용 가능하다.
- 모두 사용할 수 있는 접근지정자 public
- 해당 클래스만 사용할 수 있는 접근지정자 private
- private인 경우 해당 클래스 내 public 메소드 이용 접근 가능
- 객체도 레퍼런스 변수이다.(포인터의 개념과 유사)
- 따라서 객체배열 생성시 2차원 배열이 생성된다.
0. 지난주 복습
• EX 4 + HW2)
- 끝말잇기(228p) // 공연예약 시스템(237p) // 로또번호 추첨
- 위 세가지 과제 중 택 1하여 다음주 시연
- 시연 후, 알고리즘 및 코드내용 설명(주석 필요없음)
- 컨트롤 c + v 가능, 대신 설명가능 해야함.
- 클래스를(두 개 이상) 이용하여 구현하기
0.5 지난주 과제
• EX 4 + HW2) 샘플(끝말잇기)
0.5 지난주 과제
• EX 4 + HW2) 샘플(끝말잇기)
0.5 지난주 과제
• EX 4 + HW2) 샘플(끝말잇기)
0.5 지난주 과제
• 상속
– 상위 클래스의 특성(필드, 메소드)을 하위 클래스에 물려주는 것
– 슈퍼 클래스 (superclass)
• 특성을 물려주는 상위 클래스
– 서브 클래스 (subclass)
• 특성을 물려 받는 하위 클래스
• 슈퍼 클래스에 자신만의 특성(필드, 메소드) 추가
• 슈퍼 클래스의 특성(메소드)을 수정 : 구체적으로 오버라이딩이라
고 부름
• 다중 상속 불가능(extended뒤엔 오직하나의 클래스 가능)
• 슈퍼 클래스에서 하위 클래스로 갈수록 구체적
– 예) 폰 -> 모바일폰 -> 뮤직폰
• 상속을 통해 간결한 서브 클래스 작성
– 동일한 특성을 재정의할 필요가 없어 서브 클래스가 간결해짐
13
1. 상속
14
1. 상속
• EX 1(240p)
- 점을 표시할 수 있도록 좌표 x,y를 설정하고 출력하는 클래스 작성
- 위의 클래스를 상속받아 좌표변수 x,y를 이용 색깔을 출력
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()
}
16
1. 상속
• EX 1(240p)
작성
• 서브 클래스의 객체와 멤버 접근
– 서브 클래스의 객체에는 슈퍼 클래스 멤버 포함
• 단, 슈퍼 클래스의 private 멤버는 상속되지 않음
– 서브 클래스에서 직접 접근 불가
• 슈퍼 클래스의 private 멤버는 슈퍼 클래스의 메소드를 통해 접근
17
2. 상속과 접근지정자
• 자바의 접근 지정자 4 가지
– public, protected, default, private
• 상속 관계에서 주의할 접근 지정자는 private와 protected
• 슈퍼 클래스의 private 멤버
– 슈퍼 클래스의 private 멤버는 모든 클래스에 접근 불허
• // 부모의 사유재산
• 슈퍼 클래스의 protected 멤버
– 같은 패키지 내의 모든 클래스는 접근
– 동일 패키지 여부와 상관없이 서브 클래스에서 슈퍼 클래스의
protected 멤버 접근 가능
• // 부모 자식간에는 상속
18
• EX 2(247p)
- 클래스 Person을 아래와 같은 멤버 필드를 갖도록 선언하고 클래스
Student는 클래스 Person을 상속받아 각 멤버 필드에 값을 저장
- int age;
- pubilc String name;
- protected int height;
- private int weight;
2. 상속과 접근지정자
19
• EX 2(247p)
2. 상속과 접근지정자
20
3. 오버라이딩
21
• EX 3(247p)
- Person을 상속받는 Professor라는 새로운 클래스를 만들고
Professor클래스에서 getPhone()메소드를 오버라이딩 하라 그리고
이 메소드에서 슈퍼클래스의 getPhone() 메소드를 호출하도록
작성하라
3. 오버라이딩
22
• EX 3(247p)
- Person을 상속받는
Professor라는 새로운 클래스를
만들고 Professor클래스에서
getPhone()메소드를 오버라이딩
하라 그리고이 메소드에서 슈퍼
클래스의 getPhone() 메소드를
호출하도록 작성하라
3. 오버라이딩
• 클래스
- 다중 상속 불가능(extended뒤엔 오직하나의 클래스 가능)
- 슈퍼 클래스 (superclass)특성을 물려주는 상위 클래스
- 서브 클래스 (subclass) 특성을 물려 받는 하위 클래스
- 접근지정자는 private, default, protected, public 4가지
- 슈퍼 클래스의 private 멤버는 모든 클래스에 접근 불허
- 슈퍼 클래스의 메소드를 서브클래에서 재정의
- 동적바인딩 발생(오버라이딩이 된 메소드기 무조건 실행됨)
0. 지난주 복습
Q & A
Thank you!!

More Related Content

More from Heejun Kim

Java, android 스터티10
Java, android 스터티10Java, android 스터티10
Java, android 스터티10Heejun Kim
 
Java, android 스터티9
Java, android 스터티9Java, android 스터티9
Java, android 스터티9Heejun Kim
 
Java, android 스터티8
Java, android 스터티8Java, android 스터티8
Java, android 스터티8Heejun Kim
 
Java, android 스터티7
Java, android 스터티7Java, android 스터티7
Java, android 스터티7Heejun Kim
 
Java, android 스터티6
Java, android 스터티6Java, android 스터티6
Java, android 스터티6Heejun Kim
 
Java, android 스터티5
Java, android 스터티5Java, android 스터티5
Java, android 스터티5Heejun Kim
 
Java, android 스터티1
Java, android 스터티1Java, android 스터티1
Java, android 스터티1Heejun Kim
 

More from Heejun Kim (7)

Java, android 스터티10
Java, android 스터티10Java, android 스터티10
Java, android 스터티10
 
Java, android 스터티9
Java, android 스터티9Java, android 스터티9
Java, android 스터티9
 
Java, android 스터티8
Java, android 스터티8Java, android 스터티8
Java, android 스터티8
 
Java, android 스터티7
Java, android 스터티7Java, android 스터티7
Java, android 스터티7
 
Java, android 스터티6
Java, android 스터티6Java, android 스터티6
Java, android 스터티6
 
Java, android 스터티5
Java, android 스터티5Java, android 스터티5
Java, android 스터티5
 
Java, android 스터티1
Java, android 스터티1Java, android 스터티1
Java, android 스터티1
 

Java, android 스터티3

  • 2. • EX 1) - 자신의 학번과 이름을 받을 수 있는 클래스를 만든다. (학번 -> int형 , 이름 -> String 객체) - 생성자 4개 만들기 ( 그냥 생성, 학번을 가지고 생성, 이름을 가지고 생성, 학번과 이름을 가지고 생성) - 학번 이나 이름을 안주고 만든 클래스는 0과”none”으로 초기화 0. 지난주 복습
  • 4. 0. 지난주 복습 • EX 2) - EX1에서 작성한 프로그램을 이용해서 접근지정자 예제 실습 - 학번정보를 “private”로 설정 한다. - 객체(인스턴스)생성시 기본생성자로 생성한다. - 학번정보를 수정하고 얻을 수 있는 메소드 2개를 작성한다.
  • 6. 0. 지난주 복습 • EX 3) - EX2에서 작성한 프로그램을 이용해서 객체배열 예제 실습 - 4개의 객체배열을 생성한다(기본생성자 이용) - 객체배열에 학번값을 넣어준다.(20xxxxxxx0, 20xxxxxxx1 …) - 학번값 출력
  • 8. • 클래스 - 클래스는 생성자를 이용해 상속 받을 때 초기화 시킬 수 있다. - 오버로딩이 지원되므로 여러 개의 생성자를 이용 가능하다. - 모두 사용할 수 있는 접근지정자 public - 해당 클래스만 사용할 수 있는 접근지정자 private - private인 경우 해당 클래스 내 public 메소드 이용 접근 가능 - 객체도 레퍼런스 변수이다.(포인터의 개념과 유사) - 따라서 객체배열 생성시 2차원 배열이 생성된다. 0. 지난주 복습
  • 9. • EX 4 + HW2) - 끝말잇기(228p) // 공연예약 시스템(237p) // 로또번호 추첨 - 위 세가지 과제 중 택 1하여 다음주 시연 - 시연 후, 알고리즘 및 코드내용 설명(주석 필요없음) - 컨트롤 c + v 가능, 대신 설명가능 해야함. - 클래스를(두 개 이상) 이용하여 구현하기 0.5 지난주 과제
  • 10. • EX 4 + HW2) 샘플(끝말잇기) 0.5 지난주 과제
  • 11. • EX 4 + HW2) 샘플(끝말잇기) 0.5 지난주 과제
  • 12. • EX 4 + HW2) 샘플(끝말잇기) 0.5 지난주 과제
  • 13. • 상속 – 상위 클래스의 특성(필드, 메소드)을 하위 클래스에 물려주는 것 – 슈퍼 클래스 (superclass) • 특성을 물려주는 상위 클래스 – 서브 클래스 (subclass) • 특성을 물려 받는 하위 클래스 • 슈퍼 클래스에 자신만의 특성(필드, 메소드) 추가 • 슈퍼 클래스의 특성(메소드)을 수정 : 구체적으로 오버라이딩이라 고 부름 • 다중 상속 불가능(extended뒤엔 오직하나의 클래스 가능) • 슈퍼 클래스에서 하위 클래스로 갈수록 구체적 – 예) 폰 -> 모바일폰 -> 뮤직폰 • 상속을 통해 간결한 서브 클래스 작성 – 동일한 특성을 재정의할 필요가 없어 서브 클래스가 간결해짐 13 1. 상속
  • 14. 14 1. 상속 • EX 1(240p) - 점을 표시할 수 있도록 좌표 x,y를 설정하고 출력하는 클래스 작성 - 위의 클래스를 상속받아 좌표변수 x,y를 이용 색깔을 출력
  • 15. 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() }
  • 16. 16 1. 상속 • EX 1(240p) 작성
  • 17. • 서브 클래스의 객체와 멤버 접근 – 서브 클래스의 객체에는 슈퍼 클래스 멤버 포함 • 단, 슈퍼 클래스의 private 멤버는 상속되지 않음 – 서브 클래스에서 직접 접근 불가 • 슈퍼 클래스의 private 멤버는 슈퍼 클래스의 메소드를 통해 접근 17 2. 상속과 접근지정자 • 자바의 접근 지정자 4 가지 – public, protected, default, private • 상속 관계에서 주의할 접근 지정자는 private와 protected • 슈퍼 클래스의 private 멤버 – 슈퍼 클래스의 private 멤버는 모든 클래스에 접근 불허 • // 부모의 사유재산 • 슈퍼 클래스의 protected 멤버 – 같은 패키지 내의 모든 클래스는 접근 – 동일 패키지 여부와 상관없이 서브 클래스에서 슈퍼 클래스의 protected 멤버 접근 가능 • // 부모 자식간에는 상속
  • 18. 18 • EX 2(247p) - 클래스 Person을 아래와 같은 멤버 필드를 갖도록 선언하고 클래스 Student는 클래스 Person을 상속받아 각 멤버 필드에 값을 저장 - int age; - pubilc String name; - protected int height; - private int weight; 2. 상속과 접근지정자
  • 19. 19 • EX 2(247p) 2. 상속과 접근지정자
  • 21. 21 • EX 3(247p) - Person을 상속받는 Professor라는 새로운 클래스를 만들고 Professor클래스에서 getPhone()메소드를 오버라이딩 하라 그리고 이 메소드에서 슈퍼클래스의 getPhone() 메소드를 호출하도록 작성하라 3. 오버라이딩
  • 22. 22 • EX 3(247p) - Person을 상속받는 Professor라는 새로운 클래스를 만들고 Professor클래스에서 getPhone()메소드를 오버라이딩 하라 그리고이 메소드에서 슈퍼 클래스의 getPhone() 메소드를 호출하도록 작성하라 3. 오버라이딩
  • 23. • 클래스 - 다중 상속 불가능(extended뒤엔 오직하나의 클래스 가능) - 슈퍼 클래스 (superclass)특성을 물려주는 상위 클래스 - 서브 클래스 (subclass) 특성을 물려 받는 하위 클래스 - 접근지정자는 private, default, protected, public 4가지 - 슈퍼 클래스의 private 멤버는 모든 클래스에 접근 불허 - 슈퍼 클래스의 메소드를 서브클래에서 재정의 - 동적바인딩 발생(오버라이딩이 된 메소드기 무조건 실행됨) 0. 지난주 복습
  • 24. Q & A