1 / 17

5 장 클래스

5 장 클래스. 클래스. class 객체지향의 특징 클래스 정의하기 클래스의 구성요소 패키지(package) java.util.Date 클래스. 클래스. 객체지향 프로그래밍 동작보다는 객체, 논리보다는 자료를 바탕으로 구성되며 객체라는 시각에서 접근하 하는 프로그래밍 기법을 말한다 . 객체(Object) 란 ? 넓은 의미에서는 사람에서부터 건물까지 그리고 컴퓨터 바탕화면의 아주 작은 요소인 버튼이나 스크롤바 같은 것들까지를 모두 객체라 한다 . 좁은 의미에서는 클래스의 인스턴스를 의미한다

margot
Download Presentation

5 장 클래스

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. 5장 클래스

  2. 클래스 • class • 객체지향의 특징 • 클래스 정의하기 • 클래스의 구성요소 • 패키지(package) • java.util.Date 클래스

  3. 클래스 • 객체지향 프로그래밍 • 동작보다는 객체, 논리보다는 자료를 바탕으로 구성되며 객체라는 시각에서 접근하하는 프로그래밍 기법을 말한다. • 객체(Object)란? • 넓은 의미에서는 사람에서부터 건물까지 그리고 컴퓨터 바탕화면의 아주 작은 요소인 버튼이나 스크롤바 같은 것들까지를 모두 객체라 한다. • 좁은 의미에서는 클래스의 인스턴스를 의미한다 • 클래스(Class)란? • 객체를 만들기 위한 틀 또는 설계도라고 할 수 있다. • 객체지향 프로그래밍은 추상화, 캡슐화, 상속성, 다형성의 특징을 가진다.

  4. 클래스 • 객체지향 프로그래밍의 특징 • 추상화 • 추상화는 몇 가지 공통 속성을 가지지만 서로 다른 속성도 가지는 객체를 집단화할 수 있게 한다. • 구체적인 객체(개, 고양이)를 추상적인 객체(동물)로 집단화 하는 과정을 추상화하라 하고 이 반대의 과정을 일반화라고 한다.

  5. 클래스 • 캡슐화 • 은닉화라고도 한다. • 클래스 내부의 동작을 모르더라도 클래스가 제공하는 메서드를 사용해 클래스의 기능을 사용할 수 있다는 개념이다. • 클래스로 객체를 생성하거나 상속을 해 사용할 때도 갭슐화가 적용된다. • 클래스의 메서드에 입력을 넣었을 때 어떤 결과를 반환하지는 혹은 어떤 동작을 하는지를 알고 사용하면 되는 것이다. • 상속성 • 상속성은 객체지향의 가장 중요한 개념이다. • 자신보다 상위 클래스(또는 부모 클래스)의 속성을 상속하여 새로운 클래스를 만들 수 있는 특징을 상속성이라고 한다. • 다형성 • 같은 이름의 메서드가 상황에 따라 다른 동작을 할 수 있도록 하는 특징 • 오버 라이딩과 오버 로딩을 사용해 구현한다.

  6. 클래스 • 클래스 정의하기 • 객체지향 프로그래밍의 절차 • 객체를 모델링해야 한다. • 객체가 가지는 속성과 동작(행동)을 먼저 파악해야 한다. • 속성은 명사로 표현될 수 있는 것들이고 동작은 동사로서 표현되는 것들이다. • 속성과 동작을 모델링하였다면 이것을 클래스로 표현 한다. • 클래스를 작성하는 형식 [접근 제어자] class 클래스 이름 { 멤버 변수; 생성자; 멤버 메서드; }

  7. 클래스 • 예제 • 실행결과 public class ClassTest {     public static void main(String args[]) {         System.out.println("new 연산자를 사용해 객체를 생성합니다");         ClassExam obj = new ClassExam();     } } class ClassExam {     private String memberVar;     public ClassExam() {}     public void method() {} }

  8. 클래스 • 클래스의 구성요소 • 생성자 • new 연산자를 이용해 객체를 생성할 때 호출 된다. • 주로 멤버 변수를 초기화 하거나 상위 클래스에 어떤 인수를 넘겨주는 경우 사용한다. • 일반 메서드와 다른 형식을 가진다. -> 생성자의 접근 제어자는 특수한 경우를 제외하고 대부분 public으로 선언하며 반환되는 데이터형이 없다. public 클래스 이름(인자)   { 실행문;   }

  9. 클래스 • 예제 • 실행결과 public class ClassTest { public static void main(String args[]) { System.out.println("new 연산자를 사용해 객체를 생성합니다"); ClassExam obj = new ClassExam(); } } class ClassExam { private String memberVar; public ClassExam() { System.out.println("생성자는 객체가 생성될때 제일먼저 호출됩니다"); System.out.println("memberVar의 값을 \"멤버변수\"로 초기화 합니다."); memberVar = "멤버변수"; } public void method() {} }

  10. 클래스 • 멤버 변수 • 클래스의 속성을 정의하기 위해 선언 된 변수 • 메서드 내부가 아닌 클래스에 바로 선언한다. • 접근 제어자를 가질 수 있는다.(public, private, protected) • 사용 형식 : [접근 제어자] 데이터형 변수이름 • 멤버 메서드 • 클래스 내부의 멤버 변수가 무엇이고 어떻게 사용되는지 몰라도 멤버 메서드를 사용하여 원하는 동작이나 결과를 얻을 수 있다.(은닉화, 캡슐화) • 캡슐화는 프로그램은 멤버 변수의 잘못된 사용을 차단해 데이터의 신뢰성을 향상시킨다. • 사용 형식 [접근 제어자] 데이터형 메서드이름(인자) { 실행문; }

  11. 클래스 • 예제 public class ClassTest {     public static void main(String args[]) {         System.out.println("new 연산자를 사용해 객체를 생성합니다");         ClassExam obj = new ClassExam();         obj.method();     } } class ClassExam {     private String memberVar;     public ClassExam() {         System.out.println("생성자는 객체가 생성될때 제일먼저 호출됩니다");         System.out.println("memberVar의 값을 \"멤버변수\"로 초기화 합니다.");         memberVar = "멤버변수";     }     public void method() {         System.out.println("memberVar : " + memberVar);     } }

  12. 클래스 • 실행결과

  13. 클래스 • 패키지 • 기본적으로 제공되는 패키지 외에 프로그래머가 필요에 의해 패키지를 만들어 사용할 수 있다. • 패키지를 만들기 위해서는 package 문을 자바 소스에 첫 문장으로 추가해야 한다. -> package 패키지이름; • 패키지를 만들 때 주의할 점 • 패키지의 선언은 소스의 처음에 선언되어야 한다. • 패키지는 한번만 선언되어야 한다. • 같은 패키지에 속한 클래스는 패키지 이름과 동일한 폴더에 위치해야 한다. 서브 폴더로 나뉘어 있는 경우에는 해당 폴더까지의 경로가 패키지 이름이 된다. • 자바의 패키지는 일반적으로 다음과 같은 규칙으로 명명한다. • URL을역순으로기재. 패키지이름.클래스 (예) package kr.co.ehan.pcmanager;

  14. 클래스 • 예제 package kr.co.ehan.classtest; public class ClassExam { private String memberVar; public ClassExam() { System.out.println("생성자는 객체가 생성될때 제일먼저 호출됩니다"); System.out.println("memberVar의 값을 \"멤버변수\"로 초기화 합니다."); memberVar = "멤버변수"; } public void method() { System.out.println("memberVar : " + memberVar); } } import kr.co.ehan.classtest.ClassExam; public class ClassTest { public static void main(String args[]) { System.out.println("new 연산자를 사용해 객체를 생성합니다"); ClassExam obj = new ClassExam(); obj.method(); } }

  15. 클래스 • 실행결과

  16. 클래스 • JAR나 ZIP 형식의 압축파일 형태로 배포된다. • jar cvf 파일이름.jar 포함시킬파일 (예) jar cvf classes.jar list

  17. 클래스 • java.util.Date • Date 클래스는 특정 시점을 나타내기 위한 클래스 • 밀리세컨드 단위를 사용한다. • JDK 1.1에서 사용하던 메서드의 대부분을 Calendar 클래스의 메서드로 대체하여 사용하도록 권장하고 있다. • 현재는 long getTime() 메서드와 Date 클래스 객체를 해당 GMT 시간으로 설정하는 void setTime (long time)정도가 사용되고 있다.

More Related