7강. 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 객체의 개념 및 클래스의 이해

Slides:



Advertisements
Similar presentations
17 강. 인터페이스 – I - 인터페이스의 이해 - 인터페이스의 문법 - 다형성이란 ? Lecturer Kim Myoung-Ho Nickname 블스
Advertisements

아름다운 이들의 행복한 길음안나의 집.
22강 API - I - JAVA필수 API - String의 이해 - String의 문제점
28강 JAVA 입출력(I/O) 알아보기 - 입출력(I/O) 이란? - JAVA 입출력 API(Input~, Output~)
30강_웹문서 제작 팁 웹문서 제작 팁 Lecturer Kim Myoung-Ho Nickname 블스
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
16강. 자바 빈 빈 이란? 빈 만들기 빈 관련 액션 태그(useBean, getProperty, setProperty)
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
23강. EL(Expression Language)
24강. JSTL(JSP standard Tag Library)
10강. AOP(Aspect Oriented Programming)-II
25강. Security-I 보안 관련 프로젝트 생성 보안 관련 라이브러리 추가 보안 관련 설정 파일 만들기
6강. DI설정 방법 XML파일을 이용한 DI설정 방법 JAVA를 이용한 DI설정 방법 XML과 JAVA를 같이 사용
5강. DI활용 의존 관계 DI사용에 따른 장점 Lecturer Kim Myoung-Ho Nickname 블스
11강. JSP 본격적으로 살펴보기-III request 객체의 이해 response 객체의 이해
29강. MVC패턴을 이용한 게시판 만들기-III
28강. MVC패턴을 이용한 게시판 만들기-II FrontController 만들기 Command 만들기
22강. 파일 업로드 - 파일 업로드 라이브러리 설치 - 파일 업로드 프로그래밍 Lecturer Kim Myoung-Ho
12강. 액션태그 액션태그란? forward, include, param 태그 살펴보기
9강. JSP 본격적으로 살펴보기-I JSP 태그의 개념 이해 JSP 동작 원리 JSP 내부 객체
20강. 커넥션풀 DAO, DTO PreparedStatement 커넥션 풀(DBCP)
27강. MVC패턴을 이용한 게시판 만들기-I MVC패턴의 이해 전체적인 컴포넌트 설계 DB(DataBase) 생성
21강. 스프링JDBC JDBC를 이용한 반복코드 줄이기 Spring빈을 이용한 코드 간소화
6강. Servlet 본격적으로 살펴보기-II
16강. 추상클래스 - III - 자동차 옵션 제작 프로그래밍 Lecturer Kim Myoung-Ho Nickname 블스
3강_HTML 기본-II 리스트 태그 - ul,li,ol 표를 나타내는 태그 - table 이미지를 출력하는 태그 – img
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
19강. 데이터 베이스 - III 회원가입 및 회원정보 수정 프로그래밍 Lecturer Kim Myoung-Ho
8강. Servlet 본격적으로 살펴보기-IV
1강_web과 html Web이란? HTML이란? CSS란? Lecturer Kim Myoung-Ho Nickname 블스
28강_맵(Map) 맵을 이용하기 위한 설정 위치 추적 Lecturer Kim Myoung-Ho Nickname 블스
11강. 스프링 MVC 기초 스프링 MVC 개요 스프링 MVC 구조 살펴보기 resources 폴더
2강. 스프링 프로젝트 만들기 이클립스에 스프링 프로그인 설치(STS) 처음 만들어 보는 스프링 프로젝트
25강. FrontController 패턴과 Command 패턴
26강_CSS3 규칙 CSS파일 규칙 Lecturer Kim Myoung-Ho
23강. 트랜잭션(Transaction)-II
2강. 개발 환경 설정 JDK 설치 Path 설정 이클립스 다운로드 톰캣 설치 톰캣 환경 설정
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
24강 API - III - Timer 클래스 - StringTokenizer 클래스 Lecturer Kim Myoung-Ho
13강. 쿠키 쿠키란? 쿠키 문법 Lecturer Kim Myoung-Ho Nickname 블스
15강. 예외 페이지 예외 페이지의 필요성 page 지시자를 이용한 예외 처리 web.xml파일을 이용한 예외 처리
10강_CSS 속성-I CSS3 단위 url() display 속성 visibility 속성 opacity 속성
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
17강_스마트폰 레이아웃-I viewport header 제작 네비 제작 Lecturer Kim Myoung-Ho
15강. 추상클래스 - II - 어린이집 아이들의 식대 계산 프로그래밍 Lecturer Kim Myoung-Ho
16강. 스프링MVC 게시판-I 프로젝트 설계 DataBase 구축 프로젝트 생성 Lecturer Kim Myoung-Ho
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
8강. 외부 파일을 이용한 설정 Environment 객체 프로퍼티 파일을 이용한 설정
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
1강. 스프링이란? 프레임워크 스프링(SPRING) 설치 Lecturer Kim Myoung-Ho Nickname 블스
7강_CSS 기본-II id(#) 와 class(.) tag,id, class 혼합 속성 선택자 후손 및 자손 선택자
11강_CSS 속성-II margin 및 padding 속성 box-sizing 속성 border 속성
12강_CSS 속성-III font-family , font-size 속성
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
3강_레이아웃-I 화면구성 요소 뷰에 대한 이해 LinearLayout Lecturer Kim Myoung-Ho
17강. 스프링MVC 게시판-II 패키지, 인터페이스, 클래스 제작 Controller 제작 리스트 페이지 만들기
26강 JAVA Collections - I - 컬렉션이란? - JAVA도 결국 효과적인 데이터를 처리하기 위한 수단
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
13강. Form 데이터 HttpServletRequest 어노테이션 데이터(커맨드) 객체
27강_데이터베이스 SQLite CP(Content Provider) Lecturer Kim Myoung-Ho
22강. 트랜잭션(Transaction)-I
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
2015년 2학년 1반.
7강. 생명 주기(life cycle) 와 범위(scope)
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
제 14 장 응용 계층과 클라이언트-서버 모델 클라이언트-서버 모델 14.2 동시성 14.3 프로세스 14.4 요약.
13강_이벤트 & 리스너(Listener) 이벤트 개요 커스텀 뷰의 콜백메소드를 이용한 이벤트 처리
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
11강. static - static의 이해 - static과 객체와의 관계 - static의 장점과 단점
Presentation transcript:

7강. 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 객체의 개념 및 클래스의 이해 객체지향 프로그래밍에서 데이터 처리 방법 객체자료형과 변수와의 관계 객체자료형과 데이터와의 관계 Lecturer Kim Myoung-Ho Nickname 블스 blogstudy@naver.com

7-1. 메소드 프로그래밍의 한계 메소드 프로그래밍의 한계 메소드를 이용하면 로직의 재사용이 가능하여 개발을 효율적으로 할 수 있었습니다. 하지만, 메소드만 가지고는 많은 양의 로직을 처리하기에는 한계가 있습니다. 한 문서 내에 메소드의 수가 많아질 경우 추후 유지 보수에 많은 어려움이 발생됩니다.

데이터 로직 돈이 있다. 어려운 사람을 돕다. 7-2. 객체의 개념 및 클래스의 이해 객체의 개념 먼저 시간에 객체의 의미에 대해서 간단하게 살펴 보았습니다. 다시 한번 살펴보면 객체는 같은 종류의 데이터와 로직이 함께 있는 구성체 입니다. 그리고 현실세계와 비교해 보면 세상의 모든 것이 객체 입니다. 예를 들어 자동차 라는 객체가 있습니다. 자동차에는 운전대라는 메소드와 브레이크, 기어 라는 메소드가 있습니다. 그리고 색상, 배기량 등의 데이터가 있습니다. 자동차를 운전하는 사람은 운전대를 오른쪽, 왼쪽으로 돌려가며 운전하고, 브레이크를 밟아 정지하고, 기어를 작동하여 앞,뒤로 운전 합니다. 또한 색상과 배기량을 가지고 다른 자동차와 구분하기도 합니다. 이처럼 객체는 메소드와 비슷하지만 그 상위개념이라고 할 수 있습니다. 즉 완전한 독립체라고 할 수 있습니다. 객체는 클래스로부터 생산(복사본)됩니다. 예를 들어 그랜저 자동차가 공장에서 생산됩니다. 이때 색상이 정해지지 않은 자동차를 만들어 놓고, 소비자의 요구에 따라서 색상을 칠합니다. 즉 색을 칠하기 전의 자동차가 클래스이며, 소비자(개발자)의 요구에 따라서 색을 칠해서 완전한 자동차(객체)가 만들어 집니다. 데이터 로직 돈이 있다. 어려운 사람을 돕다. 프로그램의 객체 현실 세계의 객체(돈이 많고, 착한 사람)

7-3. 객체지향 프로그래밍에서 데이터 처리 방법 데이터 처리 방법 그랜저 자동차 얘기를 계속 하겠습니다. 색상이 결정 되지 않은 자동차를 클래스라고 한다고 했습니다. 그리고 구매자가 색상을 결정하여 계약을 하면, 그때 클래스로 부터 객체가 생성 됩니다. 그리고 생성된 객체는 계약을 한 소비자의 것 입니다. 또 다른 소비자가 다른 색상으로 계약을 하면 또 하나의 객체가 생성됩니다. 그림으로 살펴보면 쉽게 이해 될 수 있습니다. 객체 생성(클래스 복사) 색상이 결정된 자동차 : 객체1 객체 생성(클래스 복사) 색상이 결정된 자동차 : 객체2 색상이 결정되지 않은 자동차 : 클래스 객체 생성(클래스 복사) 색상이 결정된 자동차 : 객체3

10 7-4. 객체자료형과 변수와의 관계 기초자료형 객체자료형 변수(기초데이타)와 객체의 메모리 구조 기초 데이터 변수는 메모리상에 무엇이든지 담을 수 있는 주머니를 만들어 놓고 주머니에 값을 직접 넣는다고 배웠습니다. 그럼 객체자료형은 메모리상에 어떻게 존재 하는지 알아 보도록 하겠습니다. className1의 메모리 주소값 10 className1 객체변수 ClassName className1 = new ClassName(); className1의 메모리 주소값 className2 변수 Int i = 10; 객체변수 ClassName className2 = new ClassName(); 기초자료형 객체자료형

Object1 Class1 Object2 7-5. 객체자료형과 데이터와의 관계 int i int i 객체안의 데이타 객체는 클래스로 부터 생성됩니다. 그리고, 생성된 객체는 동일한 클래스에서 생성되었다 하더라고 이제는 완전한 독립체 입니다. 따라서 객체 안에 종속되어 있는 데이터는 완전히 별개의 데이터입니다. Object1 Int i int i Class1 Int i Object2 Int i int i