1 / 39

6 장 . 클래스 : 속성

6 장 . 클래스 : 속성. Java. 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 + " 입니다 "); }

kathy
Download Presentation

6 장 . 클래스 : 속성

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6장. 클래스 : 속성 Java 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 + "입니다"); } }

  2. 학습목표

  3. 목차 • 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)

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

  5. 1 클래스의 일반 구조 • 실습예제 속성 생성자 기능 메소드

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

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

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

  9. 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() { //메소드 intvol; vol = width * height * depth; System.out.println("Volume is "+vol); } } 형식 메소드

  10. 3 객체의 생성 • 객체의 선언 클래스명 객체 변수; 형식

  11. 3 객체의 생성 • 객체의 생성 객체 변수 = new 클래스명; 형식

  12. 3 객체의 생성 • 객체의 선언과 생성 클래스명 객체 변수 = new 클래스명(); 형식

  13. 3 객체의 생성 • 객체의 선언과 생성 193 page

  14. 3 객체의 생성 • 실습예제 Box1 클래스로부터 객체 생성 객체의 속성만 가진 클래스 객체의 속성에 값을 배정

  15. 3 객체의 생성 • 실습예제

  16. 3 객체의 생성 • 프로그램 설명 • 01 : 클래스 Box1은 속성만 가진 클래스이다.  • 08~09 : 클래스 Box1에서 객체 두 개를 생성하였다.  • 12~18 : 각 객체의 속성에 특정 값을 저장하였다.  • 20~24 : 각 객체의 속성값을 이용하여 박스의 부피를 계산하였다. 

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

  18. 4 멤버 변수 4-1 객체 변수 • 객체 변수 • 객체가 가질 수 있는 특성을 표현

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

  20. 4 멤버 변수 4-1 객체 변수 • 실습예제 속성으로 값을 지정

  21. 4 멤버 변수 4-1 객체 변수 • 실습예제 같은 값이 출력 객체 변수에 객체 변수를 배정 mybox1의 width 속성값 변경 mybox2의 depth 속성값 변경 같은 값이 출력

  22. 4 멤버 변수 4-1 객체 변수 • 프로그램 설명 • 02~04 : 클래스의 속성으로 변수의 형과 변수명만 지정될 수도 있고, 직접 값을 지정할 수도 있다. • 08~12 : 기본 자료형인 정수 값을 가지는 변수는 배정문을 사용하면 값이 직접 복사되어 한 변수의 값이 변화되어도 다른 변수에 영향을 미치지 않는다. • 13~26 : 참조 자료형인 객체를 가지는 객체 변수를 다른 객체 변수에 배정하게 되면, 두 개의 객체 변수는 같은 객체를 가리키게 된다. 이 경우 한 객체 변수를 통해서 객체의 속성을 변경하면, 다른 객체 변수를 통해서 접근하는 값도 변경되게 된다.

  23. 4 멤버 변수 4-2 클래스 변수 • 클래스 변수 • static을 사용하여 선언 • 전역변수(global variable)의 개념 static 변수형 변수명; 형식

  24. 4 멤버 변수 4-2 클래스 변수 • 클래스 변수의 사용 201 page

  25. 4 멤버 변수 4-2 클래스 변수 • 실습예제 메소드가 호출될 때마다  클래스 변숫값 증가 클래스 변수 선언

  26. 4 멤버 변수 4-2 클래스 변수 • 실습예제 클래스 변수에  접근할 때는 클래스 명을  통해서 접근

  27. 4 멤버 변수 4-2 클래스 변수 • 프로그램 설명 • 06 : 클래스의 속성으로 클래스 변수를 선언하였다. 이 변수는 이 클래스로부터 생성된 객체들에 의해 공유되는 변수이다. • 26 : 클래스 변수는 클래스 명을 통해서 접근하는 것이 원칙이다. 

  28. 4 멤버 변수 4-3 종단(final) 변수 • 종단 변수 • final을 사용하여 선언하며 변할 수 없는 상숫값을 갖음 final 변수형 = 변숫값; 형식

  29. 4 멤버 변수 4-4 멤버 변수 접근 방법 • 클래스 변수와 객체 변수에 접근하기 위해서는 “.”을 이용 • 클래스 변수 접근 방법 클래스이름.클래스변수 or 객체이름.클래스변수 형식

  30. 4 멤버 변수 4-4 멤버 변수 접근 방법 • 객체 변수 접근 방법 객체이름.객체변수 형식

  31. 5 멤버 변수 접근 한정자 5-1 public • 클래스 내의 멤버 변수 접근을 제한할 수 있는 방법으로 접근 한정자를 제공 • public으로 선언된 객체 변수는 항상 접근 가능하다는 것을 의미

  32. 5 멤버 변수 접근 한정자 5-2 private • private로 선언된 객체 변수는 소속된 클래스 내에서만 사용 오류 발생

  33. 5 멤버 변수 접근 한정자 5-3 한정자 없음 • 한정자를 지정하지 않을 경우 같은 패키지에 속한 클래스에서는 제한 없이 사용이 가능

  34. 6 변수의 유효범위(Scope) • 변수의 유효범위 • 그 변수가 사용될 수 있는 영역을 의미 • 유효범위 측면에서의 변수들을 구분 • 멤버 변수 • 메소드 매개변수와 지역변수 • 예외 처리기 매개변수(exception handler parameter) • 멤버 변수 • 클래스 내에 메소드 밖에서 선언된 변수를 의미 • 메소드 지역변수와 메소드 매개변수는 메소드 내에서만 사용할 수 있는 변수

  35. 6 변수의 유효범위(Scope) • 변수의 유효범위 207 page

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

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

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

  39. 6장. 클래스 : 속성 수고하셨습니다. 질문 있습니까?

More Related