JAVA PROGRAMMING 실습 02. 표준 입출력

Similar documents
PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint Presentation

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

(Microsoft PowerPoint - java1-lecture4.ppt [\310\243\310\257 \270\360\265\345])

Microsoft PowerPoint - java1-lecture4.ppt [호환 모드]

4Àå

Microsoft PowerPoint - 4장

JAVA PROGRAMMING 실습 08.다형성

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

gnu-lee-oop-kor-lec06-3-chap7

JAVA PROGRAMMING 실습 05. 객체의 활용

(Microsoft PowerPoint - java2-lecture3.ppt [\310\243\310\257 \270\360\265\345])

Microsoft PowerPoint - 2강

PowerPoint Presentation

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

JAVA PROGRAMMING 실습 07. 상속

쉽게 풀어쓴 C 프로그래밍

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

PowerPoint 프레젠테이션

Microsoft PowerPoint - Lect04.pptx

Design Issues

PowerPoint Presentation

JAVA PROGRAMMING 실습 05. 객체의 활용

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

쉽게 풀어쓴 C 프로그래밍

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

Microsoft Word - java19-1-midterm-answer.doc

PowerPoint 프레젠테이션

PowerPoint Presentation

C++ Programming

Microsoft PowerPoint 장강의노트.ppt

설계란 무엇인가?

Microsoft PowerPoint - C++ 5 .pptx

C++ Programming

교육자료

5장.key

Microsoft PowerPoint - Chapter 6.ppt

No Slide Title

슬라이드 1

Microsoft PowerPoint - additional08.ppt [호환 모드]

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

No Slide Title

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

제11장 프로세스와 쓰레드

PowerPoint Template

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - Chap12-OOP.ppt

JVM 메모리구조

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문

Microsoft PowerPoint - Java7.pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - additional06.ppt [호환 모드]

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

자바 프로그래밍

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint Presentation

슬라이드 1

Spring Data JPA Many To Many 양방향 관계 예제

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 02. 표준 입출력

1. 상속의기본개념 다음과같은문제를위한클래스설계 자동차 속성 : 색상, 배기량, 현재속도 메서드 : 가속하라, 멈춰라, 시동을켜라 트럭 속성 : 색상, 배기량, 현재속도, 최대중량 메서드 : 가속하라, 멈춰라, 시동을켜라 택시 속성 : 색상, 배기량, 현재속도, 요금,

PowerPoint 프레젠테이션

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Slide 1

PowerPoint 프레젠테이션

PowerPoint Template

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - additional07.ppt [호환 모드]

17장 클래스와 메소드

Microsoft PowerPoint - CSharp-10-예외처리

유니티 변수-함수.key

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

슬라이드 1

1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int i = 0; i < 5; i++) cout << "ary[" << i << "] = " << ary[i] << endl; 5 장클래스의활용 1

Microsoft PowerPoint - chap11

슬라이드 1

PowerPoint Presentation

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - lec12 [호환 모드]

PowerPoint 프레젠테이션

Transcription:

# 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사.

캡슐화 메소드와데이터를클래스내에선언하고구현 외부에서는공개된메소드의인터페이스만접근가능 외부에서는비공개데이터에직접접근하거나메소드세부구현을알수없음. 객체내데이터에대한보안, 보호, 외부접근제한 상속 생물 동물 식물 다형성 어류사람나무풀 동물 부모 소리내기 상속 멍멍! 야옹! 꼬꼬댁!

클래스와객체에대해정확히알자!!

클래스 (class) 사용자가정의하는자료형 필드 ( 데이터 ) + 메소드 ( 객체가할수있는동작 ( 행동 )) 으로정의 @ 클래스형식 class 클래스이름 { 필드선언 ; // 데이터메소드정의 ; // 동작 ( 행동 )

@ 클래스정의예 ) 클래스이름 class Person { public String name; public int age; public Person(){ public Person(String s){ name = s; public String getname(){ retrun name; 필드 (field) 생성자 (constructor) 생성자 (constructor) 메소드 (method)

객체 : 클래스의인스턴스 (instance) @ 객체생성 (new 연산자 ) Complex k = new Complex(); k x y getrear(){.. getimaginary(){ setvalue( ){ 필드접근 객체명. 필드명 ex) k.x = 5.0; 메소드호출 객체명. 메소드명 ex) k.setvalue(1.5,2.0);

생성자의정의와호출 클래스이름과같은이름을가지는메소드 객체에필요한초기화를수행하는작업을함 new 연산자를통해객체를생성할때만호출 리턴타입을지정할수없음 class Complex { double x; double y; Complex() { x = 10.0; y = 20.0; // 메소드정의

오버로딩이란? 객체지향의특징중, 다형성의한종류임 한클래스내에같은이름의메소드를여러번구현 반드시메소드이름은같아야함 매개변수 ( 인자 ) 의타입이다르거나개수가달라야함 오버로딩을사용하는이유는메소드의이름을절약할수있다. public static void main (String args[]) { MethodSample a = new MethodSample(); int i = a.getsum(1, 2); int j = a.getsum(1, 2, 3); double k = a.getsum(1.1, 2.2); public class MethodSample { public int getsum(int i, int j) { return i + j; public int getsum(int i, int j, int k) { return i + j + k; public double getsum(double i, double j) { return i + j;

생성자도오버로딩이가능하다.

기본생성자 class DefaultConstructor{ int x; public void setx(int x) {this.x = x; public int getx() {return x; public DefaultConstructor() { public static void main(string [] args) { DefaultConstructor p= new DefaultConstructor(); p.setx(3); class DefaultConstructor{ int x; public void setx(int x) {this.x = x; public int getx() {return x; public DefaultConstructor(int x) { this.x = x; public static void main(string [] args) { DefaultConstructor p1= new DefaultConstructor(3); int n = p1.getx(); DefaultConstructor p2= new DefaultConstructor(); p2.setx(5);

this 란? 현재객체자기자신을가리킴 자기자신에대한레퍼런스 같은클래스내에서클래스멤버, 변수를접근할때객체이름없으면묵시적으로 this 로가정 this 의필요성 객체의멤버변수와메소드변수의이름이같은경우 객체자신을메소드에전달또는반환할때 클래스멤버와메소드변수이름이같은경우 class Samp { int id; public Samp(int id) { this.id = id; public int get() { return id; Public static void main(string[] args){ Samp ob1 = new Samp(3);

생성자가중복된다른생성자를호출 this() 같은클래스의다른생성자호출 생성자내에서만사용가능 다른메소드에서는사용불가 반드시생성자코드의제일처음에수행 public class Book { String title; String author; int ISBN; public Book(String title, String author, int ISBN) { this.title = title; this.author = author; this.isbn = ISBN; public Book(String title, int ISBN) { this(title, "Anonymous", ISBN); public Book() { this(null, null, 0); System.out.println(" 생성자가호출되었음 "); public static void main(string [] args) { Book javabook = new Book("Java JDK", " 황기태 ", 3333); Book holybible = new Book("Holy Bible", 1); Book emptybook = new Book(); title = "Holy Bible" author = "Anonymous" ISBN = 1 title = "Holy Bible" ISBN = 1

접근한정자 클래스사이에접근할수있는권한을제어 1. 클래스접근한정자 : public, default 2. 필드접근한정자 : public, protected, private 3. 메소드접근한정자 : public, protected, private 구분자기클래스서브클래스같은패키지모든클래스 private Packege (default) protected public

다음소스를컴파일한후오류가난이유를설명하시오!! class Sample { public int a; private int b; int c; public class AccessEx { public static void main(string[] args) { Sample aclass = new Sample(); aclass.a = 10; aclass.b = 10; aclass.c = 10; Sample 클래스의 a 와 c 는각각 public, default 지정자로선언이되었으므로, 같은패키지에속한 AccessEx 클래스에서접근가능 b 는 private 으로선언이되었으므로 AccessEx 클래스에서접근불가능

Song 클래스의속성정의 노래제목 : title 가수 : artist 노래가속한앨범제목 : album 노래가발표된연도 : year 노래가속한앨범에서의트랙번호 : track 기본생성자만들기 모든필드를초기화하는생성자만들기 노래정보를출력하는메소드만들기 노래제목 : 좋은날 가수 : 아이유 앨범 : Real 년도 : 2010 트랙번호 : 3

Box 클래스 속성 : 넓이, 높이, 깊이, 색상 메소드 상자의크기를설정하는메소드 상자의색상을설정하는메소드 상자의각속성을반환하는메소드 상자의정보를반환하는메소드

속성정의 : 클래스가가지는데이터 ( 필드 )

메소드정의 : 속성값설정 ( 변경자메소드 )

메소드정의 : 속성값얻어오기 ( 접근자메소드 )

생성자

상자정보반환 : tostring () 객체가가지고있는정보나값들을문자열만들어리턴하는메소드

객체의생성및사용

상자의속성추가 상자의이름 : name 생성자추가 상자의이름을설정하는생성자추가 상자의동작추가, 변경 상자의이름을설정하는메소드 상자의각속성을주어진값으로설정하는메소드 각속성별개별로설정 부피를계산하여반환해주는메소드 상자의정보반환시상자의이름을반환하도록메소드수정

실행결과