Java 클래스 및 객체에 대한 포괄적인 이해

4347 단어 java종류대상
대상을 대상으로 하는 프로그램은 대상으로 구성되어 있으며, 각 대상은 사용자에게 공개된 특정한 기능 부분과 숨겨진 실현 부분을 포함한다.객체 대상 프로그래밍(OOP)에서는 객체의 구체적인 구현에 신경 쓸 필요가 없습니다.전통적인 구조화 프로그램 설계에서 알고리즘은 첫 번째이고 데이터 구조는 두 번째이다. 즉, 먼저 어떻게 조작하는 수를 확정하고 어떻게 데이터를 조직하여 조작을 편리하게 하는지를 고려한다.OOP는 이런 순서를 뒤집어 데이터를 첫 번째로 놓고 데이터를 조작하는 알고리즘을 고려했다.
종류
클래스는 객체를 구성하는 템플릿과 청사진입니다.통속적으로 말하면 유형은 건축의 도면에 해당하고 대상은 건축물에 해당한다.클래스에서 객체를 구성하는 프로세스를 객체를 작성하는 인스턴스라고 합니다.
Java에서 키워드 class를 통해'클래스'를 정의하고 클래스 이름을 따릅니다.예:

class Person{
  //  
}
Person 클래스를 정의했습니다.
1. 필드와 방법
하나의 클래스를 정의할 때, 클래스에 두 가지 유형의 요소를 설정할 수 있습니다. 그것이 바로 데이터 구성원과 구성원 함수입니다.그 중에서 데이터 구성원은 하나의 대상이며 모든 유형이 될 수 있다.대상을 가리키는 손잡이라면 이 손잡이를 초기화하고 구조기를 통해 실제 대상과 연결해야 한다.기본 데이터 형식이라면 클래스가 정의한 위치에서 직접 초기화할 수 있습니다.
모든 대상은 자신의 데이터 구성원을 위해 저장 공간을 보유한다.데이터 구성원은 객체 간에 공유되지 않습니다.

class Person{
  String name;
  double salary;
}
new 키워드를 사용하여 객체를 만듭니다.예:

Person p = new Person();
(1) 기본 구성원의 기본값
어떤 주 데이터 형식은 하나의 클래스 구성원에 속한다. 그러면 명확하게 초기화되지 않고 기본값을 얻을 수 있다.
주 유형
기본값
Boolean
false
Char
'\u0000'(null)
byte
(byte)0
short
(short)0
int
0
long
0L
float
0.0f
double
0.0d
만약에 하나의 변수가 클래스의 구성원 변수라면 주 유형은 반드시 초기화되므로 초기화된 값에 특히 주의해야 한다.국부 변수는 다음과 같은 임의 값을 얻을 수 있습니다. int x; 는 자동으로 0으로 초기화되지 않습니다.
(2) 방법
방법의 기본 구성 부분은 이름, 자변수, 반환 유형과 주체를 포함한다.메서드의 기본 형식은 다음과 같습니다.
   (/* */) {/*   */}
반환 형식은 호출 방법을 사용한 후에 반환되는 수치 형식을 가리킨다.방법명은 구체적인 방법에 대한 표지와 인용이다.인수자 목록에는 ***** 메서드에 전달하려는 정보 유형과 이름이 나열됩니다.
Java에서 메서드의 호출 형식은 . 1. 핸들로 객체 조작
Java는 완전히 객체에 대한 것이지만그러나 작업의 식별자는 실제적으로 하나의 대상을 가리키는'문단'을 가리키며'인용'이라고도 부른다.손잡이는 독립적으로 존재할 수 있다. 손잡이를 가지고 있으면 반드시 대상이 있어야 한다는 것은 아니다.예를 들어 int i; 정형 변수 i를 정의했는데 반드시 값이 있다는 것은 아니다.예를 들어, String 유형의 핸들을 만듭니다.

String s;
여기는 핸들만 만들었을 뿐 대상을 만들지 않았습니다.s는 이와 관련된 대상이 없기 때문에 s를 호출하면 이상이 발생합니다.따라서 만들 때 초기화를 해야 합니다.

String s = "hello";
Java에서 new 키워드를 통해 대상을 만들면 대상의 인용 (즉 핸들) 을 되돌려줍니다.그래서

String s = new String("hello");
'hello'라는 내용의 String 대상을 만들고 이 대상의 핸들(인용)을 s에 저장합니다.
2. 데이터 저장 위치
1. 레지스터.프로세서 내부에 있는 가장 빠른 저장 영역입니다.레지스터의 크기는 제한되어 있으며, 컴파일러의 크기에 의해 분배됩니다.
2. 창고.일반 RAM(랜덤 액세스 스토리지) 영역에 상주하며 스택 포인터를 통해 크기를 변경할 수 있습니다.스택 포인터를 아래로 이동하면 새로운 메모리 공간이 생성됩니다.위로 이동하면 메모리 공간을 방출합니다.프로그램을 만들 때 Java 컴파일러는 스택에 저장된 모든 데이터의 길이와 존재 시간을 정확하게 알아야 합니다. 컴파일러는 바늘을 이동하기 위해 해당하는 코드를 생성합니다.Java 객체의 핸들은 저장되지만 Java 객체는 스택에 저장되지 않습니다.
3. 쌓다.Java 객체가 저장된 일반적인 용도의 메모리 풀입니다.컴파일러는 메모리 더미나 더미에서 얼마나 많은 저장 공간을 분배하고 데이터를 얼마나 오래 저장하는지 알 필요도 없다.
4. 정적 저장.정적 은 RAM에 있는 고정된 위치를 나타냅니다.프로그램이 실행되는 동안 정적으로 저장된 데이터는 언제든지 호출될 수 있습니다.static 키워드를 통해 대상의 특정 요소가 정적임을 나타냅니다.Java 자체가 정적 저장 공간에 있을 수 없습니다.
5. 상수 저장.상수치는 일반적으로 프로그램 코드 내부에 설치되어 영원히 바뀌지 않습니다.
6. 비RAM 스토리지만약 데이터가 한 프로그램 이외에 완전히 독립되어 있다면, 프로그램이 실행되지 않을 때, 프로그램의 제어 범위 내에 존재할 수 있다.예를 들어, 스트리밍 객체와 고정 객체입니다.
대상
객체의 세 가지 주요 특성:
• 대상의 행위 ―대상에 대해 어떤 조작을 할 수 있는가, 아니면 대상에 어떤 방법을 가할 수 있는가?
• 대상의 상태 - 그 방법을 추가할 때 대상은 어떻게 응답합니까?
• 대상 표지―어떻게 같은 행위와 상태를 가진 다른 대상을 판별합니까?
대상의 행위는 호출 가능한 방법에 의해 정의된다.각 객체에는 현재 피쳐를 설명하는 정보가 저장되며 이것이 객체의 상태입니다.객체의 상태는 자동으로 변경되지 않습니다.디자인이 좋은 클래스로 그 대상은 호출 방법으로만 이루어질 수 있고 방법을 거치지 않으면 대상의 상태를 바꿀 수 있으며 봉인성이 파괴되었다는 것을 설명한다.
봉인: 데이터와 행위를 하나의 패키지에 조합하고 대상의 사용자에게 데이터의 실현 방법을 숨긴다.봉인의 관건은 클래스 중의 방법이 다른 클래스의 실례역에 직접 접근하지 못하게 하는 데 있다.프로그램은 대상의 방법을 통해서만 대상 데이터를 상호작용합니다.
대상의 데이터를 실례역 (instancefield) 이나 속성이라고 합니다.데이터를 조작하는 과정을 방법(method)이라고 부른다.각 특정 객체에 대해 일련의 특정 인스턴스 도메인 값 (속성 값) 이 있으며, 이러한 값의 집합은 해당 객체의 현재 상태입니다.
클래스 간의 관계
클래스 간 공통 관계식:
• 의존 ("use-a"): 한 가지 방법으로 다른 종류의 대상을 조종한다.
• 집합 ("has-a"): 한 종류의 대상은 다른 종류의 대상을 포함한다.
• 계승('is-a'): 특수와 일반적인 관계를 나타내는 데 쓰인다.클래스 A 확장 클래스 B(A 상속 B)의 경우, 클래스 A는 클래스 B의 방법뿐만 아니라 확장 방법도 포함한다.
하나의 대상은 실제적으로 하나의 대상을 포함하지 않고 단지 하나의 대상만을 인용한다.
Java에서 모든 객체 변수의 값은 다른 곳에 저장된 객체에 대한 참조입니다.new 조작부호의 반환값도 인용입니다.
이상의 자바 클래스와 대상을 전면적으로 이해하는 것은 바로 편집자가 여러분께 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기