JA A V W. 04.

Slides:



Advertisements
Similar presentations
Transaction ㅇ Transaction 을 직접 구현하려면, 까다로운 설계와 복잡한 코드를 필요로 하고 수정에 공수가 많이 들게 된다. ㅇ 스프링에서 제공하는 Transaction Manager 를 사용하여 쉽고 간편하게 어려운 트랜잭션을 해결할 수 있다. xml.
Advertisements

멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
어서와 Java는 처음이지! 제3장선택과 반복.
객체지향 프로그래밍.
Chap05 상속 5.1 상속의 개요 5.2 멤버 변수의 상속 5.3 메소드의 상속과 오버라이딩(Overriding)
7장 배열 ②.
Java Presentation 중간 시험2 풀이
제 4장 문 장 배정문 혼합문 제어문 표준 입출력.
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
윤 홍 란 제3장 클래스와 객체의 사용-1 윤 홍 란
16강. 자바 빈 빈 이란? 빈 만들기 빈 관련 액션 태그(useBean, getProperty, setProperty)
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
8. 객체와 클래스 (기본).
명품 JAVA Programming 제 7 장 제네릭과 컬렉션.
명품 JAVA Essential.
명품 JAVA Programming.
메소드 호출과 힙 원격 메소드 호출 서블릿 엔터프라이즈 자바 빈즈
Power Java 제4장 자바 프로그래밍 기초.
[INA470] Java Programming Youn-Hee Han
10장 객체-지향 프로그래밍 II ©창병모.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Power Java 제10장 배열.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
자바 5.0 프로그래밍.
프로그래밍 언어론 제 9 장 객체 지향 개념 객체 지향 방법론 객체 모델링 객체 지향 언어 C++ 객체 지향 언어 CLOS
명품 JAVA Essential.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
7장 클래스.
2010학년도 2학기 객체지향의 이해.
Power Java 제7장 클래스와 객체.
This, static, final 지정 예약어 자바 4대 중첩 클래스
김 정 석 Web Programming 김 정 석
객체지향적인 프로그래밍에 대한 이해 클래스와 객체의 개념에 대한 이해
주소록 프로그램.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
6장 객체-지향 설계 ①.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
12 검색.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
6장 객체-지향 설계 ①.
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
어서와 Java는 처음이지! 제9장 인터페이스, 패키지.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
WAP Java Seminar
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
maria db JDBC PROGRAMMING3
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
Web programming Chap 04 상속 김 정 석
프로그래밍 개론 Ⅰ 제 1장 . 서론 ①.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
CACM 구현 public class CACM { public CACM(File file)
자바 5.0 프로그래밍.
7강. 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 객체의 개념 및 클래스의 이해
JA A V W. 06.
Chapter 02. 소프트웨어와 자료구조.
[ 단원 06 ] 상속과 다형성.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
3장,4장 발표 서정우.
Part 3 객체지향 Chapter 5 : 객체지향 개념 Chapter 6 : 클래스 : 속성
자바 5.0 프로그래밍.
C# 10장. 참조형.
6장 클래스(상속).
컴퓨터 프로그래밍: 실습 1 제 1장 . 서론.
Java 5장. 객체지향 개념 public class SumTest {
1. 객체-지향 프로그래밍.
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

JA A V W. 04

객체지향의 개요 객체지향(Object-Oriented)이론 실세계를 구성하는 사물의 속성과 기능 컴퓨터를 통하여 실세계와 같은 환경을 흉내(simulation)내기 위해 발전한 이론 실세계를 구성하는 사물의 속성과 기능

객체지향과 절차지향

클래스와 객체 하나의 클래스로부터 여러 개의 객체를 생성하기 위해 사용하는 형판 예로들어 붕어빵을 들수 있다. 붕어빵은 붕어빵 틀에서 구워져서 나오게 된다. 붕어빵 틀에서 나오는 붕어빵은 모두 모양이 같다. 또한 하나의 붕어빵틀에서 같은 모양의 붕어빵을 무한대로 만들어 낼 수 있다. 여기서 붕어빵틀이 클래스이고 붕어빵이 객체이다., 중요한 사실은 우리가 먹을 수 있는 것은 붕어빵 즉 객체이지 붕어빵 틀 즉 클래스가 아니라는 점이다. 즉 객체지향에서 데이터를 처리하는데 사용하는 것은 클래스로부터 생성된 객체이지 클래스가 아니라는 점이다. 클래스는 붕어빵 틀처럼 객체를 생성하는 역할을 수행한다.\

클래스와 객체의 구성 일반적으로 자바 프로그램은 객체를 생성하고, 생성된 객체사이의 관계를 정의하여 프로그램을 작성한다. 자바프로그램에서 객체를 생성하기 위해서는 반드시 클래스가 필요로 하게 된다. 결론적으로 자바프로그램은 객체를 생성하기 위한 클래스를 작성하여, 그 클래스로부터 객체를 생성하고, 생성된 객체 사이의 관계를 정의하여 만들어 진다고 볼 수 있다. 다음은 성적의 평균을 구하는 클래스를 정의한 예이다. 일반적으로 객체지향에서 속성은 필드, 데이터, 속성변수, 객체변수 등 다양한 용어를 사용하고, 기능은 메소드라는 용어를 사용한다.

객체의 생성 실체화(instantiation) 클래스로부터 객체를 생성하는 과정 인스턴스(instance)라 부름 붕어빵 만드는 과정을 더 자세히 관찰해보면 붕어빵 틀에 우선 밀가루 반죽을 붓고 빵에 들어가는 팥소를 넣는다. 이떄 팥으로 만든 팥소를 넣으면 팥 붕어빵이 되고 녹두로 만든 팥소를 넣으면 녹두 붕어빵이 된다. 즉 하나의 틀에서 모양은 같지만 내부에 들어 있는 내용이 다른 붕어빵을 만들 수 있다. 마찬가지로 하나의 클래스로 부터 객체가 생성될 떄 각 개ㅔㄱ체는 같은 속성과 기능을 가지지만, 속성에 저장된 값은 모두 다르게 지정할 수 있다.

상속(Inheritance) 새로 작성되는 클래스는 기존의 평균을 구하는 클래스를 이용하여 작성될 수 있다. 즉 기존 클래스로부터 모든 속성과 메소드를 상속받고, 더 필요한 속성과 메소드를 추가하여 새로운 클래스를 생성할 수 있다. 이러한 개념이 상속이다.

상속(Inheritance) AvgTest1.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 class Avg1 { String name; int avg; public String average(int kor, int eng) { avg = (kor+eng)/2; return name+avg; } class Avg1Total extends Avg1 { public int total(int kor, int eng) int score = kor + eng; return score; 상위 클래스 정의 상위 클래스를 상속받아 하위 클래스 정의

상속(Inheritance) AvgTest1.java 17 18 19 20 21 22 23 24 25 26 27 28 29 30 public class AvgTest1 { public static void main(String[] args) { Avg1Total student1 = new Avg1Total(); Avg1Total student2 = new Avg1Total(); student1.name = "김철수"; student2.name = "김영희"; String st1_avg = student1.average(70,80); String st2_avg = student2.average(80,90); int st1_total = student1.total(70,80); int st2_total = student2.total(80,90); System.out.println(st1_avg+" 총점=" + st1_total); System.out.println(st2_avg+" 총점=" + st2_total); } Avg1Total 객체 생성 상속받은 속성값 설정 생성된 객체에서 정의된 메소드 호출

상속(Inheritance) 클래스의 상속은 확장(extend)의 개념을 가진다. 즉 상위 클래스의 모든 것을 상속받고 추가로 더 가지는 클래스를 구성하는 것이 상속이다.

클래스 계층 구조에서의 상속 클래스들 사이의 상속은 소프트웨어 설계를 간단히 할수 있는 이점을 제공한다. 즉 기존의 클래스로부터 모든요소를 상속받고 새로운 클래스에는 추가되는 자료구조와 메소드만 지정하면 된다. 상속의 개념은 코드를 간결하고 코드의 재사용성을 높이는 요인이 된다. 하나의 클래스로부터 상속되는 것이 일반적이지만 다수개의 클래스로부터 상속받아 새로운 클래스를 생성하는 경우도 있다 이를 다중상속이라 한다 자바언어는 상속관계에서 하나의 상위클래스만 허용하며 다중상속은 허용하지 않는다.

감사합니다