12강. 상속 - I - 상속! 어렵지 않아요. 일상에서 알고 있는 상속 입니다. - 상속이 필요한 이유 - 상속 문법의 이해

Slides:



Advertisements
Similar presentations
어린이 STAR 기자 어린이 STAR 기사 글 김지윤기자.
Advertisements

3부 객체지향 3부에서는 자바 언어의 핵심인 객체지향의 개념과 클래스, 객체, 상속, 다형성 등의 개념에 관해 설명합니다.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
9강. AOP(Aspect Oriented Programming)-I
25강. Security-I 보안 관련 프로젝트 생성 보안 관련 라이브러리 추가 보안 관련 설정 파일 만들기
6강. DI설정 방법 XML파일을 이용한 DI설정 방법 JAVA를 이용한 DI설정 방법 XML과 JAVA를 같이 사용
5강. DI활용 의존 관계 DI사용에 따른 장점 Lecturer Kim Myoung-Ho Nickname 블스
29강. MVC패턴을 이용한 게시판 만들기-III
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
22강. 파일 업로드 - 파일 업로드 라이브러리 설치 - 파일 업로드 프로그래밍 Lecturer Kim Myoung-Ho
12강. 액션태그 액션태그란? forward, include, param 태그 살펴보기
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
6강. Servlet 본격적으로 살펴보기-II
16강. 추상클래스 - III - 자동차 옵션 제작 프로그래밍 Lecturer Kim Myoung-Ho Nickname 블스
25강 예외처리 - 예외란? - 예외처리의 필요성 - 예외처리 문법 (try ~ catch) - 예외처리 문법 (throws)
3강_HTML 기본-II 리스트 태그 - ul,li,ol 표를 나타내는 태그 - table 이미지를 출력하는 태그 – img
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
19강. 데이터 베이스 - III 회원가입 및 회원정보 수정 프로그래밍 Lecturer Kim Myoung-Ho
28강_맵(Map) 맵을 이용하기 위한 설정 위치 추적 Lecturer Kim Myoung-Ho Nickname 블스
25강. FrontController 패턴과 Command 패턴
4강. 컴퓨터와의 기본적인 소통수단 - II 제어문과 루프문이란? if문, switch문, for문, while문 의 이해
24강 API - III - Timer 클래스 - StringTokenizer 클래스 Lecturer Kim Myoung-Ho
15강. 예외 페이지 예외 페이지의 필요성 page 지시자를 이용한 예외 처리 web.xml파일을 이용한 예외 처리
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
10강_CSS 속성-I CSS3 단위 url() display 속성 visibility 속성 opacity 속성
17강_스마트폰 레이아웃-I viewport header 제작 네비 제작 Lecturer Kim Myoung-Ho
15강. 추상클래스 - II - 어린이집 아이들의 식대 계산 프로그래밍 Lecturer Kim Myoung-Ho
NDE는 NCS사의 새로운 병렬처리과정시스템입니다. LINUX PC-CLUSTER상에서 운영됩니다.
무슨 일이 일어난 걸까요? 수진이에게 무슨 말을 해줄 수 있을까요? 자전거 사고를 경험한 적이 있나요?
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
15차시_스마트 애플리케이션 기획 스마트 애플리케이션 모형 제작 및 발표.
14강. 추상클래스 - I - 추상클래스의 이해 - 추상클래스가 필요한 이유 - 추상클래스의 문법
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
7강_CSS 기본-II id(#) 와 class(.) tag,id, class 혼합 속성 선택자 후손 및 자손 선택자
11강_CSS 속성-II margin 및 padding 속성 box-sizing 속성 border 속성
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
예수께서 이르시되 오히려 하나님의 말씀을 듣고 지키는 자가 복이 있느니라 하시니라 누가복음 11장 28절 말씀 -아멘-
이튿날 요한이 예수께서 자기에게 나아오심을 보고 이르되 보라 세상 죄를 지고 가는 하나님의 어린 양이로다
6강. 객체지향 프로그램의 시작 객체지향 이전의 프로그래밍 객체지향의 등장 배경과 이해 메소드의 이해
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
Power Java 제11장 상속.
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
3강_레이아웃-I 화면구성 요소 뷰에 대한 이해 LinearLayout Lecturer Kim Myoung-Ho
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
7강. 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 객체의 개념 및 클래스의 이해
26강 JAVA Collections - I - 컬렉션이란? - JAVA도 결국 효과적인 데이터를 처리하기 위한 수단
20강 패턴을 통한 객체지향 언어의 이해 - II - 난이도 있는 패턴 예제 - I Lecturer Kim Myoung-Ho
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
13강. Form 데이터 HttpServletRequest 어노테이션 데이터(커맨드) 객체
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
십자가의 도가 멸망하는 자들에게는 미련한 것이요 구원을 받는 우리에게는 구원을 받는 우리에게는 하나님의 능력이라
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
22강. 트랜잭션(Transaction)-I
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
OOA&D 5조_PROJECT 김연호 이은정 조방실 허혜원.
정삼각형을 정사각형으로 바꾸는 원리 탐구 하귀초등학교 6학년 고지상.
사람에게 보이려고 그들 앞에서 너희 의를 행하지 않도록 주의하라
이삭을 번제로 드렸어요.
그러므로 이제부터 너희는 외인도 아니요 나그네도 아니요 오직 성도들과 동일한 시민이요 하나님의 권속이라
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
7 생성자 함수.
11강. static - static의 이해 - static과 객체와의 관계 - static의 장점과 단점
Presentation transcript:

12강. 상속 - I - 상속! 어렵지 않아요. 일상에서 알고 있는 상속 입니다. - 상속이 필요한 이유 - 상속 문법의 이해 - 상속 예제 – 대대로 이어오고 있는 식당 메뉴 Lecturer Kim Myoung-Ho Nickname 블스 blogstudy@naver.com

상속하고, 필요한 것은 추가하고, 변경할 곳은 변경하였습니다. 12-1. 상속! 어렵지 않아요. 일상에서 알고 있는 상속 입니다. 아들왈 : 아버지~~ 편하게 살게 재산 많이 물려 주세요. 객체지향 언어의 대표적인 JAVA를 공부 할 때 가장 중요하고 꼭 알고 넘어가야 하는 부분이 상속과 추상화 개념입니다. 이렇게 중요한 부분을 정확하게 알고 사용하는 개발자는 의외로 많지 않습니다. 그런 개발자를 누군가는 이렇게 말합니다. ‘무늬만 개발자’라고요. 다소 농담 섞인 의견 이였으나, 중요한 것은 객체지향 언어를 하면서 상속과 추상화를 모르면 객체지향 언어를 한다고 말할 수 없을 정도로 상속과 추상화 개념은 중요 합니다. 하지만 절대로 어렵지 않습니다. 아주 쉽습니다. 상속은 우리가 일상에서 알고 있는 상속 입니다. 아버님의 재산을 물려받는 아들의 경우 아버님으로부터 아들은 재산을 상속 받은 경우 입니다. 반대로 아버님이 많은 빚을 아들에게 물려주는 경우도 있습니다. 이 경우에도 아들은 아버님으로부터 많은 빚을 상속 받은 경우 입니다. 프로그래밍에서도 어떤 객체가 다른 객체로부터 객체의 데이터(속성)와 메소드를 상속 받을 수 있습니다. 이럴 경우 상속받은 객체는 상속해준 객체의 데이터 및 메소드를 이용할 수 있고 또는 변경 할 수도 있습니다. 상속을 통해서 4발 자전거를 만든다고 생각해 보겠습니다. 자전거에는 기본적으로 핸들, 바퀴, 브레이크, 페달, 프레임 등이 있어야 합니다. 그리고 4발 자전거는 바퀴가 4개 있어야 합니다. 자전거 제작자가 처음부터 4발 자전거를 만들려고 하면 많은 시간과 노력이 필요 합니다. 그래서 자전거 제작자는 아이디어를 생각해 냅니다. 자전거 가게에 가서 2발 자전거를 사가지고 와서, 뒷바퀴에 2개의 바퀴를 달면 4발 자전거가 쉽게 제작 되어집니다. 몇 일이 걸릴 수 있고, 여러 번의 시행착오가 생길 수 있는 자전거 제작을 단 몇 분만에 뚝딱 끝낼 수 있게 되었습니다. 프로그램도 마찬가지 입니다. 기존의 좋은 클래스가 있다면 상속을 통해서 개발시간을 단축시킬 수 있습니다. 상속 상속하고, 필요한 것은 추가하고, 변경할 곳은 변경하였습니다.

12-2. 상속이 필요한 이유 항상 맨땅에 헤딩 할 수는 없습니다. 지름길이 있다면 쉽게 갈 수도 있습니다. 상속이 필요한 이유는 크게 두 가지 이유입니다. 첫째로는, 모든 개발을 처음부터 하얀 도화지에 할 필요는 없습니다. 이미 훌륭한 선배님들께서 만들어 놓은 프로그램이 있다면 상속을 통해서 훌륭한 결과물을 빠른 시간 내에 만들 수 있습니다. 또한 기존의 훌륭한 프로그램은 대부분 검증이 잘 되어 있어 버그도 거의 없을 수 있습니다. 둘째로는, 다양한 객체(타입)를 상속을 통해서 하나의 객체(타입)으로 묶을 수 있습니다. 이것은 추상화 개념의 이해가 있어야 하는데요, 아직은 추상화에 대해서 살펴보지 않았으므로 우선은 다양한 객체를 하나로 통일 시킬 수 있다고만 알고 있으면 될 거 같습니다.

12-3. 상속 문법의 이해 프로그램에서 상속의 문법을 배워 보자. 상속의 개념에 대해서 이제 감을 잡았을 거 같습니다. 사실 별로 어려운 부분도 없었습니다. 상속은 말 그대로 상속일 뿐입니다.

청국장 청국장 된장국 쇠고기 청국장 갈비찜 된장국 콩비지 얼큰 된장국 콩비지 콩나물국 12-4. 상속 예제 – 대대로 이어오고 있는 식당 메뉴 시대가 변하면 메뉴도 업그레이드 되어야 합니다.(12_4_ex1_menu) 대대로 이어져오는 식당이 있습니다. 이식당은 변하지 않는 메뉴도 있지만, 시대의 변화에 맞춰 새로운 메뉴가 생겼습니다. 청국장 청국장 된장국 쇠고기 청국장 갈비찜 된장국 콩비지 얼큰 된장국 콩비지 콩나물국 예전 메뉴 현재 메뉴

12-4. 상속 예제 – 대대로 이어오고 있는 식당 메뉴 시대가 변하면 메뉴도 업그레이드 되어야 합니다.