Java 객체 및 클래스 이해

7085 단어 Java대상종류
Java는 객체 대상 언어입니다.다음과 같은 기본 개념을 지원합니다.
다태
계승
포장
추상
클래스
• 대상
실례
방법
• 메시지 분석
이 절에서 우리는 대상과 유형의 개념을 중점적으로 연구한다.
• 대상: 대상은 클래스의 실례로 상태와 행위가 있다.예를 들어 개 한 마리는 하나의 대상으로 그 상태는 색깔, 이름, 품종이다.행동은 꼬리를 흔들고, 짖고, 먹는 등이다.
• 클래스: 클래스는 하나의 템플릿으로 하나의 대상의 행위와 상태를 설명합니다.
Java의 객체
이제 우리는 대상이 무엇인지 깊이 이해하자.주위의 진실한 세계를 보면 주변에 많은 대상, 차, 개, 사람 등이 있다는 것을 발견할 수 있다.모든 이 대상들은 자신의 상태와 행동을 가지고 있다.
개 한 마리를 예로 들면, 그 상태는 이름, 품종, 색깔, 행위는 짖고, 꼬리를 흔들고, 뛰는 것이다.
현실 대상과 소프트웨어 대상을 비교하면 그것들 사이는 매우 비슷하다.
소프트웨어 객체에도 상태와 비헤이비어가 있습니다.소프트웨어 대상의 상태는 바로 속성이고 행위는 방법을 통해 나타난다.
소프트웨어 개발에서 방법은 대상 내부 상태의 변화를 조작하고 대상의 상호 호출도 방법을 통해 완성한다.
Java의 클래스
클래스는 Java 객체를 만드는 템플릿으로 볼 수 있습니다.
다음 간단한 클래스를 통해 다음 Java의 클래스 정의를 이해합니다.

public class Dog{ 
  String breed; 
  int age; 
  String color; 
  void barking(){ 
  } 
   
  void hungry(){ 
  } 
   
  void sleeping(){ 
  } 
} 
클래스에는 다음 유형의 변수가 포함될 수 있습니다.
• 국부 변수: 방법, 구조 방법 또는 문장 블록에 정의된 변수를 국부 변수라고 부른다.변수 성명과 초기화는 모두 방법에 있으며, 방법이 끝나면 변수는 자동으로 삭제됩니다.
• 구성원 변수: 구성원 변수는 클래스에서 방법체 밖으로 정의된 변수입니다.이 변수는 대상을 만들 때 실례화됩니다.구성원 변수는 클래스의 방법, 구조 방법과 특정한 클래스의 문장 블록에 접근할 수 있다.
• 클래스 변수: 클래스 변수도 클래스, 방법체 외에 성명되지만static 형식으로 성명해야 합니다.
하나의 클래스는 여러 가지 방법을 가질 수 있다. 위의 예에서barking (), hungry (), sleeping () 은 모두 Dog 클래스의 방법이다.
구조 방법
모든 종류에는 구조 방법이 있다.클래스에 대한 구조 방법을 명시적으로 정의하지 않으면 Java 컴파일러는 클래스에 기본 구조 방법을 제공합니다.
대상을 만들 때 최소한 구조 방법을 사용해야 합니다.구조 방법의 명칭은 반드시 클래스와 동명이어야 하며, 한 클래스에 여러 가지 구조 방법이 있을 수 있다.
다음은 구조 방법의 예입니다.

public class Puppy{ 
  public Puppy(){ 
  } 
 
  public Puppy(String name){ 
   //  :name 
  } 
} 
객체 만들기
객체는 클래스에 따라 작성됩니다.Java에서 키워드 new를 사용하여 새 객체를 만듭니다.객체를 작성하려면 다음 3단계가 필요합니다.
• 선언: 객체 이름과 객체 유형을 포함한 객체를 선언합니다.
• 실례화: 키워드 new를 사용하여 대상을 만듭니다.
• 초기화: new를 사용하여 대상을 만들 때 구조 방법으로 대상을 초기화합니다.
다음은 객체를 만드는 예입니다.

public class Puppy{ 
  public Puppy(String name){ 
   // :name 
   System.out.println("Passed Name is :" + name ); 
  } 
  public static void main(String []args){ 
   //  Puppy  
   Puppy myPuppy = new Puppy( "tommy" ); 
  } 
} 
위의 프로그램을 컴파일하고 실행하면 다음 결과가 인쇄됩니다.
Passed Name is :tommy
인스턴스 변수 및 방법 액세스
다음과 같이 생성된 객체를 통해 구성원 변수와 구성원 방법에 액세스합니다.

/*   */
ObjectReference = new Constructor(); 
/*   */
ObjectReference.variableName; 
/*   */
ObjectReference.MethodName(); 
다음 예제에서는 인스턴스 변수에 액세스하고 구성원을 호출하는 방법을 보여 줍니다.

public class Puppy{ 
  int puppyAge; 
  public Puppy(String name){ 
   //  :name 
   System.out.println("Passed Name is :" + name ); 
  } 
 
  public void setAge( int age ){ 
    puppyAge = age; 
  } 
 
  public int getAge( ){ 
    System.out.println("Puppy's age is :" + puppyAge ); 
    return puppyAge; 
  } 
 
  public static void main(String []args){ 
   /*   */
   Puppy myPuppy = new Puppy( "tommy" ); 
   /*  age */
   myPuppy.setAge( 2 ); 
   /*  age */
   myPuppy.getAge( ); 
   /*  */
   System.out.println("Variable Value :" + myPuppy.puppyAge ); 
  } 
} 
위의 프로그램을 컴파일하여 실행하면 다음과 같은 결과가 발생합니다.
Passed Name is :tommy
Puppy's age is :2
Variable Value :2
소스 파일 선언 규칙
이 절의 마지막 부분에서 우리는 원본 파일의 성명 규칙을 배울 것이다.원본 파일에 여러 종류를 정의하고import 문장과package 문장이 있을 때 이러한 규칙에 특히 주의해야 한다.
• 원본 파일에 공용 클래스가 하나만 있을 수 있음
• 원본 파일에 여러 개의 비퍼블릭 클래스가 있을 수 있음
• 원본 파일의 이름은public 클래스의 클래스와 일치해야 합니다.예를 들어 원본 파일에서public 클래스의 클래스 이름은Employee입니다. 그러면 원본 파일은Employee라고 명명해야 합니다.java.
• 클래스가 패키지에 정의되어 있다면, 패키지 문장은 원본 파일의 첫 줄에 있어야 합니다.
• 원본 파일에import 문장이 포함되어 있다면, 패키지 문장과 클래스 정의 사이에 두어야 합니다.패키지 문장이 없으면import 문장은 원본 파일의 맨 앞에 있어야 합니다.
•import 문장과 패키지 문장은 원본 파일에 정의된 모든 클래스에 유효합니다.같은 원본 파일에서 서로 다른 종류와 다른 패키지에 설명할 수 없습니다.
클래스는 몇 가지 접근 단계가 있고 클래스도 서로 다른 유형으로 나뉜다. 추상적인 클래스와final 클래스 등이다.이러한 내용은 액세스 제어 섹션에서 설명합니다.
위에서 언급한 몇 가지 유형을 제외하고 자바는 내부 클래스, 익명 클래스 등 특수한 종류가 있다.
Java 패키지
가방은 주로 종류와 인터페이스를 분류하는 데 쓰인다.자바 프로그램을 개발할 때 수백 수천 개의 클래스로 작성될 수 있기 때문에 클래스와 인터페이스를 분류할 필요가 있다.
Import 문
자바에서 패키지 이름, 클래스 이름을 포함한 완전한 한정 이름을 제시하면 자바 컴파일러는 원본 코드나 클래스를 쉽게 찾을 수 있다.Import 문장은 컴파일러가 어떤 종류를 찾을 수 있도록 합리적인 경로를 제공하는 것이다.
예를 들어 다음 명령줄은 명령 컴파일러가java_installation/java/io 경로의 모든 클래스
import java.io.*;
간단한 예
이 예에서 Employee와 EmployeeTest 두 가지 클래스를 만듭니다.
먼저 텍스트 편집기를 열고 아래의 코드를 붙여넣으세요.파일을 Employee로 저장합니다.java.
Employee 클래스에는 네가지 구성원 변수가 있습니다:name,age,designation,salary.이 유형은 하나의 구조 방법을 설명하는데, 이 방법은 매개 변수만 있다.

import java.io.*; 
public class Employee{ 
  String name; 
  int age; 
  String designation; 
  double salary; 
  // Employee   
  public Employee(String name){ 
   this.name = name; 
  } 
  //  age  
  public void empAge(int empAge){ 
   age = empAge; 
  } 
  /*  designation */
  public void empDesignation(String empDesig){ 
   designation = empDesig; 
  } 
  /*  salary */
  public void empSalary(double empSalary){ 
   salary = empSalary; 
  } 
  /*   */
  public void printEmployee(){ 
   System.out.println("Name:"+ name ); 
   System.out.println("Age:" + age ); 
   System.out.println("Designation:" + designation ); 
   System.out.println("Salary:" + salary); 
  } 
}
프로그램은 모두main 방법부터 실행됩니다.이 프로그램을 실행할 수 있도록main 방법을 포함하고 실례 대상을 만들어야 합니다.
다음은 Employee Test 클래스입니다. 이 클래스는 2개의 Employee 클래스를 실례화하고 변수의 값을 설정하는 방법을 호출합니다.
다음 코드를 Employee Test에 저장합니다.java 파일에 있습니다.
 

import java.io.*; 
public class EmployeeTest{ 
 
  public static void main(String args[]){ 
   /*   */
   Employee empOne = new Employee("James Smith"); 
   Employee empTwo = new Employee("Mary Anne"); 
 
   //   
   empOne.empAge(26); 
   empOne.empDesignation("Senior Software Engineer"); 
   empOne.empSalary(1000); 
   empOne.printEmployee(); 
 
   empTwo.empAge(21); 
   empTwo.empDesignation("Software Engineer"); 
   empTwo.empSalary(500); 
   empTwo.printEmployee(); 
  } 
} 
이 두 파일을 컴파일하고 Employee Test 클래스를 실행하면 다음과 같은 결과를 볼 수 있습니다.

C :> javac Employee.java 
C :> vi EmployeeTest.java 
C :> javac EmployeeTest.java 
C :> java EmployeeTest 
Name:James Smith 
Age:26
Designation:Senior Software Engineer 
Salary:1000.0
Name:Mary Anne 
Age:21
Designation:Software Engineer 
Salary:500.0 
자바의 대상과 클래스를 깊이 있게 이해하는 것은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기