PowerPoint Presentation

Similar documents
PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

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

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint 장강의노트.ppt

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

PowerPoint Presentation

Design Issues

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

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

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - 2강

PowerPoint 프레젠테이션

설계란 무엇인가?

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

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

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

No Slide Title

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Lect04.pptx

No Slide Title

Microsoft PowerPoint - Java7.pptx

C++ Programming

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - C++ 5 .pptx

쉽게 풀어쓴 C 프로그래밍

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

PowerPoint Presentation

PowerPoint 프레젠테이션

자바 프로그래밍

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

Slide 1

PowerPoint Presentation

C++ Programming

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - java1 [호환 모드]

쉽게 풀어쓴 C 프로그래밍

JVM 메모리구조

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µå

PowerPoint Template

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

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

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

슬라이드 1

슬라이드 1

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

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

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

PowerPoint Template

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

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

예제 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

PowerPoint Presentation

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

교육자료

Microsoft Word - EEL2 Lab4.docx

JAVA PROGRAMMING 실습 07. 상속

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

Microsoft PowerPoint - chap06-2pointer.ppt

05-class.key

제11장 프로세스와 쓰레드

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

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

TEST BANK & SOLUTION

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

4장.문장

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Network Programming

Cluster management software

슬라이드 1

JAVA PROGRAMMING 실습 09. 예외처리

5장.key

17장 클래스와 메소드

Blog

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

PowerPoint 프레젠테이션

KNK_C_05_Pointers_Arrays_structures_summary_v02

클래스와객체 필드 메소드 중첩클래스 자료추상화 [2/35]

쉽게

Transcription:

public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum + " 입니다 "); 1

학습목표 클래스의속성에해당하는부분에관해학습한다. 클래스의일반구조와클래스선언부분에대해학습한다. 클래스로부터객체를생성하는과정을학습한다. 클래스의속성에해당하는멤버변수에관해학습한다. 캡슐화를지원하는멤버변수접근한정자에관해학습한다. 변수의유효범위에관해학습한다. 2

목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 - 4-1 객체변수 - 4-2 클래스변수 - 4-3 종단 (final) 변수 - 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 - 5-1 public - 5-2 private - 5-3 한정자없음 section 6 변수의유효범위 (Scope) 3

1 클래스의일반구조 1-1 객체지향이론과역사 클래스의구성 - 속성에해당하는멤버변수부분 - 기능에해당하는생성자 ( 생성자메소드라고도부름 ) - 메소드정의 187page 4

1 클래스의일반구조 실습예제 Box_Sample.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 public class Box_Sample { int width; int height; int depth; int volume; Box_Sample(int w, int h, int d) { width = w; height = h; depth = d; int volume_compute() { 속성 volume = width * height * depth; return volume; 생성자 메소드 기능 5

2 클래스선언 클래스선언 형식 [public/final/abstract] class Class-name {...... 클래스의속성과기능을기술... 클래스의한정자 - Public : 모든클래스에서접근가능 - 한정자사용안함 : 패키지내의클래스에서만접근가능 - Final : 서브클래스를가질수없는클래스 - 추상 (abstract) : 객체를생성할수없는클래스 6

2 클래스선언 속성만가지는클래스 형식 class Box { int width; int height; int depth; 속성 7

2 클래스선언 속성과메소드를가지는클래스 형식 class Box { int width; int height; 속성 int depth; public void volume() { int vol; vol = width * height * depth; System.out.println("Volume is "+vol); 메소드 8

2 클래스선언 속성, 생성자, 메소드를가지는클래스 형식 class Box { int width; int height; 속성 int depth; public void Box(int w, int h, int d) { width=w; height=h; depth=d; public void volume() { // 메소드 int vol; vol = width * height * depth; System.out.println("Volume is "+vol); 메소드 메소드 9

3 객체의생성 객체의선언 형식 클래스명객체변수 ; Box mybox1; Avg student1; String name; 10

3 객체의생성 객체의생성 형식 객체변수 = new 클래스명 ; Box mybox1; mybox1 = new Box(10,20,30); 11

3 객체의생성 객체의선언과생성 형식 클래스명객체변수 = new 클래스명 (); Box mybox1 = new Box(10, 20, 30); Avg student1 = new Avg(); String name = new String(" 홍길동 "); 12

3 객체의생성 실습예제 Box1Test.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 class Box1 { int width; int height; int depth; public class Box1Test { public static void main(string args[]) { Box1 mybox1 = new Box1(); Box1 mybox2 = new Box1(); int vol1, vol2; mybox1.width = 20; mybox1.height = 40; mybox1.depth = 15; mybox2.width = 10; mybox2.height = 20; mybox2.depth = 30; 객체의속성만가진클래스 Box1 클래스로부터객체생성 객체의속성에값을배정 13

3 객체의생성 실습예제 Box1Test.java 19 20 21 22 23 24 25 26 vol1 = mybox1.width * mybox1.height * mybox1.depth; System.out.println(" 첫번째박스의부피는 " + vol1 + " 입니다."); vol2 = mybox2.width * mybox2.height * mybox2.depth; System.out.println(" 두번째박스의부피는 " + vol2 + " 입니다."); 14

4 멤버변수 멤버변수 - 클래스에서메소드외부에선언된변수 멤버변수의구분 멤버변수의선언 196 page 형식 [public/private] [static/final] 변수타입변수명 ; 15

4 멤버변수 4-1 객체변수 객체변수 - 객체가가질수있는특성을표현... int my_count1 = 100; int my_count2 = my_count1; Box mybox1 = new Box(); Box mybox2 = mybox1;... 16

4 멤버변수 4-1 객체변수 배정문에서의객체변수의다른특성 198 page 17

4 멤버변수 4-1 객체변수 실습예제 Box2Test.java 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 class Box2 { int width=10; int height=20; int depth=30; public class Box2Test { public static void main(string args[]) { int myint1 = 100; int myint2 = myint1; System.out.println(" 첫번째값 : " + myint1 + " 두번째값 : " + myint2); myint1 = 200; 속성으로값을지정 System.out.println(" 첫번째값 : " + myint1 + " 두번째값 : " + myint2); Box2 mybox1 = new Box2(); 18

4 멤버변수 4-1 객체변수 실습예제 Box2Test.java 16 17 18 19 20 21 22 23 24 25 26 27 28 Box2 mybox2 = mybox1; mybox1.width = 20; System.out.println("mybox1.width : " + mybox1.width); System.out.println("mybox2.width : " + mybox2.width); mybox2.depth = 123; System.out.println("mybox1.depth : " + mybox1.depth); System.out.println("mybox2.depth : " + mybox2.depth); 객체변수에객체변수를배정 mybox1 의 width 속성값변경 같은값이출력 mybox2 의 depth 속성값변경 같은값이출력 19

4 멤버변수 4-1 객체변수 20

4 멤버변수 4-2 클래스변수 클래스변수 - static 을사용하여선언 - 전역변수 (global variable) 의개념 형식 static 변수형변수명 ; static long boxid; static double degree; 21

4 멤버변수 4-2 클래스변수 클래스변수의사용 201 page 22

4 멤버변수 4-2 클래스변수 실습예제 Box3Test.java 01 02 03 04 05 06 07 08 09 10 class Box3 { int width; int height; int depth; long idnum; static long boxid = 0; public void increment() { idnum = ++boxid; 클래스변수선언 메소드가호출될때마다클래스변숫값증가 23

4 멤버변수 4-2 클래스변수 실습예제 Box3Test.java 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 class Box3Test { public static void main(string args[]) { Box3 mybox1 = new Box3(); Box3 mybox2 = new Box3(); Box3 mybox3 = new Box3(); Box3 mybox4 = new Box3(); mybox1.increment(); mybox2.increment(); mybox3.increment(); mybox4.increment(); System.out.println("mybox1 의 id 번호 : " + mybox1.idnum); System.out.println("mybox2 의 id 번호 : " + mybox2.idnum); System.out.println("mybox3 의 id 번호 : " + mybox3.idnum); System.out.println("mybox4의 id 번호 : " + mybox4.idnum); System.out.println(" 전체박스의개수는 " + Box3.boxID + " 입니다."); 클래스변수에접근할때는클래스명을통해서접근 24

4 멤버변수 4-2 클래스변수 25

4 멤버변수 4-3 종단 (final) 변수 종단변수 - final 을사용하여선언하며변할수없는상숫값을갖음 형식 final 변수형 = 변숫값 ; final int MAX =100; final int MIN = 1; 26

5 멤버변수접근한정자 5-1 public 클래스내의멤버변수접근을제한할수있는방법으로접근한정자를제공 public 으로선언된객체변수는항상접근가능하다는것을의미 class Box3 { public int width; public int height; public int depth; public long idnum; static long boxid = 0; public void increment() { idnum = ++boxid;... Box3 mybox1 = new Box3(); mybox1.width = 7; mybox2.depth = 20;... 27

5 멤버변수접근한정자 5-2 private private 로선언된객체변수는소속된클래스내에서만사용 class Box3 { private int width; private int height; private int depth; private long idnum; static long boxid = 0; public void increment() { idnum = ++boxid;... Box3 mybox1 = new Box3(); mybox1.width = 7; mybox2.depth = 20;... 오류발생 28

6 변수의유효범위 (Scope) 변수의유효범위 207 page 29

학습정리 클래스의일반구조 1 클래스는 속성 + 기능 으로구성된다. 2 클래스에는기능을나타내는생성자 ( 또는생성자메소드 ) 와메소드가있다. 클래스선언 1 클래스선언시한정자를사용할수있다. 2 클래스에는속성만나올수도있고, 메소드만있을수도있다. 객체의생성 1 객체의선언과생성과정을통해객체를사용할수있다. 2 객체를생성하기위해 new 라는예약어를사용한다. 30

학습정리 멤버변수 1 객체의속성을나타내는멤버변수에는객체변수, 클래스변수, 종단변수가있다. 2 객체변수는특성에따라기본자료형을가지는객체변수와참조자료형을가지는객체변수가있다. 3 기본자료형을가진객체변수는실제값을가진다. 4 참조자료형을가진객체변수는값이아닌객체의주소를가진다. 5 클래스변수는그클래스로부터생성된객체들이공유하는변수이다. 6 종단변수는상수를정의하는데사용되며, 주로변수명을대문자로사용하는것이관례이다. 7 멤버변수에접근하는방법은객체변수는객체명을, 클래스변수는클래스명을사용하여접근한다. 31

학습정리 멤버변수접근한정자 1 자바는멤버변수접근한정자를제공하여객체지향의주요특성인캡슐화와정보은폐를제공한다. 2 public 한정자는접근에제한이없는한정자이다. 프로그램에서는보안상 public의사용을최소화해야한다. 3 private 한정자는그클래스내부에서만사용할수있는한정자이다. 4 한정자를지정하지않고사용하는경우는같은패키지에속한클래스에서는제한없이사용할수있다. 변수의유효범위 1 변수의유효범위는그변수가사용될수있는영역을의미한다. 32

33