자바 객체 지향 프로그래밍 Ps lab 김윤경.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

5. 접근 제한자의 이해 SCJP 자격증 프로젝트 발표자 : 노효진.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
10. 예외 처리.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chap07 상속 Section 1 : 상속의 개요 Section 2 : 멤버 변수의 상속
최윤정 Java 프로그래밍 클래스 상속 최윤정
5장. 객체지향과 클래스.
JAVA 클래스와 멤버 2014년 4월 2일 19:00 손은경 강원대학교 데이터베이스 연구실 강원대학교 데이터베이스 연구실.
제 4 장 관계 학기 소프트웨어설계.
Chapter 05. 클래스Ⅱ.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
어서와 Java는 처음이지! 제16장 스레드.
Java 10장. 다중 스레드 public class SumTest {
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
10장 객체-지향 프로그래밍 II.
제 5 장 상속과 다형성.
명품 JAVA Essential.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
제 8 장 상속.
자바 5.0 프로그래밍.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 9. 예외처리.
Lesson 6. 형변환.
6장 클래스 6.1 클래스의 일반 구조 6.2 클래스 선언 6.3 객체의 생성 6.4 멤버 변수 6.5 멤버변수 접근 한정자
5장. 참조 타입.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
어서와 Java는 처음이지! 제7장 상속.
6장. 클래스.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
제7장 클래스와 객체.
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
Java 6장. 클래스 : 속성 public class SumTest {
Lesson 7. 클래스와 메소드 - 1.
자바 5.0 프로그래밍.
Choi, Namseok Java 기초 (객체와 클래스) Choi, Namseok
6장 클래스 6.1 클래스의 일반 구조 6.2 클래스 선언 6.3 객체의 생성 6.4 멤버 변수 6.5 멤버변수 접근 한정자
13. 연산자 오버로딩.
7장 인터페이스와 추상 클래스.
Java 9장. 인터페이스와 예외처리 public class SumTest {
Method & library.
Chapter 11 객체지향 프로그래밍의 기초 01 클래스 02 생성자 03 인스턴스 변수와 클래스 변수 예제 모음 요약
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Lesson 2. 기본 데이터형.
1주차 : 자바기본 소제목 : 자바 프로그래밍 기본.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
자바 5.0 프로그래밍.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
자바 5.0 프로그래밍.
Power Java 제11장 상속.
JA A V W. 06.
10장 상속 Section 1 상속의 개요 Section 2 상속과 한정자 Section 3 상속과 생성자
CHAP 21. 전화, SMS, 주소록.
12. 상속 : 고급.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
C# 07장. 객체 지향 개념.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Lecture 04 객체지향 페러다임 Kwang-Man Ko
3. 모듈 (5장. 모듈).
MIDP 네트워크 프로그래밍 ps lab 김윤경.
Static과 const 선언 조 병 규 한 국 교 통 대 학 교 SQ Lab..
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
Presentation transcript:

자바 객체 지향 프로그래밍 Ps lab 김윤경

1.객체지향이란? 객체=data+method 객체지향프로그래밍의 조건 1.encapsulation-객체내의 데이터는 객체외부에서는 메소드를 통해서만 조작가능. 2.inheritance- 이미 있는 객체의 속성을 물려받을 수 있음. 3.polymorphism-중복 정의된 메소드 호출시 시스너처 를 이용하여 적절한 메소드정의를 바인 딩함.

2.클래스와 객체 클래스-객체를 생성할 수 있는 모형,패턴 (기억장소를 할당하지 않음) 객체-어떤 클래스의 실체(instance)->data 를 위한 실제 기억공간을 할당 받음 Ex) 설계도☞클래스, 집☞객체 Instatiation(실체화)-클래스로부터 객체를 생성하는 것 Ex)Chess_piece bishop = new Chess_piece(); Constructor-생성된 객체를 초기화.

3. 별명(alias) 별명-여러 개의 객체참조변수가 하나의 객체를 참조 하고 있을 때, 이러한 참조변수들은 서로 별명이 된다. Ex) 일반변수와 참조변수의 차이점. int num1=5; int num2=10; num2=num1; Chess_piece bishop1=new Chess_piece(); Chess_piece bishop2=new Chess_piece(); bishop2=bishop1; bishop1 bishop2 bishop1 num1 num2 num1 num2 5 10 5 5 배정전 배정후 배정전 bishop2 배정후

4.가시성수식자(visilibility modifier) 용도-클래스 멤버들의 접근 특성을 지정 메소드형 현재클래스 자식클래스 현재패키지 다른패키지 Public o Private x Protected 공백(friendly)

5.Static 수식자 Static variable(클래스변수) 클래스의 모든 객체들이 공유. 한 클래스의 모든 객체에 대하여 오직 하나의 기억장소만 할당. 한 객체에서 정적 변수값을 변화시키면 다른 모든 객체에 영향을 미침. final로 선언된 상수는 보통 static으로 선언됨.

Static method(클래스메소드) 객체가 아닌 클래스자체를 통해서 호출됨. Static variable만 사용가능 – 클래스내의 다른 변수는 객체가 생성되기 전까지 존재하지 않음. static main() – 인터프리터가 main메소드를 포함하는 클래스의 객체를 생성하지 않고 실행하기 위해서 static으로 선언됨.따라서 main메소드는 정적변수와 지역변수만 사용가능.

6.상속 상속 기존의 클래스로부터 새로운 클래스를 유도하는 것. 자식클래스는 부모클래스의 메소드와 data를 포함하며, 수정, 추가 할 수도 있다. Is –a 관계: 자식클래스는 부모클래스보다 특성화된 기능을 수행함. 목적 : 소프트웨어 재사용 Book Parent class, super class, base class Child class, sub class, Dictionary Textbook Sibling(형제)

한 클래스는 한 부모 클래스와 여러 자식 클래스를 가질 수 있음. 구성자는 상속되지 않음- Super참조를 사용하여 자식클래스의 구성자내에서 부모클래스의 구성자를 호출. super참조가 없을 경우 자동적으로 super()가 호출됨. Ex) class Dictionary extends Book( public Dictionary(int pages){ super(pages); } } 한 클래스는 한 부모 클래스와 여러 자식 클래스를 가질 수 있음. 한 클래스의 객체참조변수는 자식클래스의 객체를 참조할 수 있음.

7.추상클래스와 메소드 추상메소드 본체문장이 없음. ex) abstract class food{ abstract public String slogan(); } //food클래스 class pepperoni extends food{ public String slogan() { return “Great for pizza”; } } //pepperoni클래스

추상메소드는 자식클래스에서 재정의됨.->추상메소드를 재정의 하지 않은 자식클래스는 반드시 추상클래스이어야함. 추상메소드를 포함하는 클래스는 반드시 추상클래스로 정의되어야 하지만, 추상클래스는 반드시 추상메소드를 포함하지 않아도 됨. 추상메소드는 final, static으로 정의될 수 없음.

10. 인터페이스 인터페이스-상수+추상메소드 다른 인터페이스의 확장이 가능. 하나의 클래스가 두개 이상의 인터페이스를 구현할 수 있음->다중 상속 인터페이스 내의 메소드는 암시적으로 public, abstract로 선언됨. 인터페이스내의 메소드는 이를 구현한 클래스에서 재정의됨. Ex) Interface image_file extends file { String print(); } class image implements image_file, binary_file{ public String print(){ return ”Image_file”; } }

11.Thread 쓰레드-한 개의 프로그램 내에서 동시에 이루어질 수 있는 작은 프로그램 단위. New thread Runnable Not Runnable Dead new Thread() yield() start() stop(),run()exit stop() suspend(),wait(),sleep(),I/O Resume(),notiry() <쓰레드의 상태>

쓰레드 프로그램 예제. class test extends Thread{ private String name; private int delay; public test(String id, int time){ name=id; delay=time; } public void run(){ try{ sleep(delay); } catch(InterruptedException e){} System.out.println(name); class thread_test { public static void main(String args[]){ test simple_test1=new test("kim",(int)( Math.random()*1000)); test simple_test2=new test("lee",(int)( Math.random()*1000)); simple_test1.start(); simple_test2.start(); }}