Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 클래스 및 객체를 사용하는 방법

Java에서 클래스에 대해 말할 때 우리는 무엇을 의미합니까? 확실히 학교에서 학생과 교사가 함께하는 수업이 아닙니다. 클래스는 코드의 개체에 대한 청사진입니다.

Java는 객체 지향 프로그래밍 언어입니다. 즉, 재사용 가능한 코드를 작성하는 데 도움이 되는 여러 기능이 포함되어 있습니다. 객체 지향 프로그래밍은 반복을 줄여 코드를 더 읽기 쉽게 만들기 때문에 모든 크기의 프로그램에 유용합니다.

이 가이드에서는 Java의 두 가지 중요한 개념인 클래스와 객체에 대해 이야기할 것입니다. 예제를 참조하여 작동 방식과 구현 방법에 대해 논의합니다.

자바 클래스란 무엇입니까?

클래스는 객체의 청사진과 같습니다. 침실에 대한 청사진은 어떤 유형의 문과 창문이 설치되고 있는지 알려줄 수 있지만 클래스는 객체가 액세스하고 저장할 수 있어야 하는 메서드와 값을 프로그램에 알려줍니다.

클래스는 개체를 선언하여 여러 번 참조할 수 있는 특정 유형의 데이터에 대한 구조를 한 번 선언할 수 있기 때문에 유용합니다.

하나의 변수와 두 개의 메서드가 있는 Employee라는 클래스를 정의해 보겠습니다.

public class Employee {
	boolean isOnVacation;

	public void startVacation() {
		isOnVacation = true;
		System.out.println("You are now on vacation.");
	}

	public void endVacation() {
		isOnVacation = false;
		System.out.println("You are not on vacation anymore.");
	}
}

우리 코드에서는 두 가지 방법을 정의했습니다. 하나는 직원의 휴가를 시작하는 것이고 다른 하나는 직원의 휴가를 끝내는 것입니다. 이 정보를 추적하기 위해 isOnVacation이라는 부울 인스턴스 변수를 선언했습니다.

아직 직원 클래스의 개체를 만들지 않았습니다. 우리는 나중에 이러한 개체의 모양을 정의할 청사진의 개요만 설명했습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

자바 객체란 무엇입니까?

개체는 특정 클래스의 인스턴스입니다. 이전의 Employee 청사진을 사용하여 객체를 생성해 보겠습니다. 우리는 john이라는 객체를 생성할 것입니다:

Employee john = new Employee();

이 코드는 Employee 클래스의 인스턴스를 생성합니다. Employee 클래스를 참조하도록 코드에 지시하는 클래스 이름 뒤에 두 개의 괄호를 추가했음을 주목하세요. new 키워드는 해당 클래스의 새 객체를 생성하도록 코드에 지시합니다.

이제 객체 메서드를 사용해 보겠습니다.

Employee john = new Employee();
john.startVacation();
john.endVacation();

프로그램을 실행하고 어떤 일이 일어나는지 봅시다:

You are now on vacation.
You are not on vacation anymore.

객체는 Employee 클래스에서 정의한 두 가지 메서드를 호출합니다. 이로 인해 해당 메서드 내의 코드가 실행됩니다. john.startVacation()을 실행할 때 , 예를 들어 isOnVacation의 값 boolean은 true로 설정되고 "지금 휴가 중입니다."라는 메시지가 표시됩니다. Java 콘솔에 인쇄됩니다.

isOnVacation 변수를 정의했지만 클래스 내에서 특정 개체에 할당된 값에 액세스할 수 있습니다. 다음 코드를 고려하십시오.

Employee john = new Employee();
john.startVacation();
john.endVacation();
System.out.println(john.isOnVacation);

이 코드는 마지막 예와 같이 John의 휴가를 시작하고 종료한 다음 isOnVacation 값을 출력합니다. 콘솔에 대한 변수:

You are now on vacation.
You are not on vacation anymore.
false

isOnVacation의 값 메소드가 false입니다. .

자바 생성자

생성자 메서드를 사용하면 클래스의 데이터를 초기화할 수 있습니다. 위의 예제에서는 클래스의 본체에 변수를 선언했지만 기본값으로 초기화하지 않았습니다.

다음 코드를 고려하십시오.

class Employee {
	boolean isOnVacation;

	public Employee() {
		isOnVacation = false;
		System.out.println("Initialized values.");
	}

	...
}

이제 Employee 클래스의 객체를 생성해 보겠습니다.

Employee john = new Employee();
john.startVacation();

john을 만들 때 객체를 생성하면 생성자가 자동으로 실행됩니다. 이 방법을 사용하면 클래스에 유지하려는 기본값을 설정할 수 있습니다. 우리의 메서드는 다음을 반환합니다:

Initialized values.
You are now on vacation.

실행 시 생성자는 isOnVacation 값을 설정합니다. 거짓으로. 그런 다음 Initialized values를 출력합니다. 콘솔로 이동합니다.

여러 개체 만들기

직원이 2명이라면? 여전히 같은 클래스를 사용할 수 있습니까? 네! 이것이 클래스 사용의 이점입니다. 동일한 클래스를 사용하여 많은 객체를 선언할 수 있습니다.

다음 주요 프로그램을 고려하십시오.

Employee john = new Employee();
john.startVacation();
john.endVacation();
System.out.println(john.isOnVacation);

Employee ian = new Employee();
ian.startVacation();
System.out.println(ian.isOnVacation);

코드를 실행해 보겠습니다.

Initialized values.
You are now on vacation.
You are not on vacation anymore.
false
  
Initialized values.
You are now on vacation.
true

Employee 클래스의 두 객체인 john과 ian을 만들었습니다. 우리 코드에서는 John의 휴가를 시작하고 끝냈습니다. 그런 다음 Ian을 위한 개체를 만들고 그의 휴가를 시작했습니다.

john.isOnVacation의 값을 출력할 때 , false가 반환됩니다. Ian의 객체에 대해 동일한 작업을 수행하면 true가 반환됩니다. 그것은 우리 클래스의 각 객체가 분리되어 있기 때문입니다. 동일한 청사진을 사용하지만 고유한 값을 저장할 수 있습니다.



결론

클래스와 객체는 객체 지향 프로그래밍의 초석입니다. 클래스를 사용하면 청사진을 정의한 다음 객체를 정의할 수 있습니다.

도전할 준비가 되었나요? 학생이 시험을 통과했는지 여부에 대한 정보를 추적하는 클래스로 프로그램을 만드십시오. 다음과 같아야 합니다.

  • 학생이 시험을 통과했는지 여부를 추적하기 위해 변수를 저장합니다.
  • 학생의 시험 통과 여부를 변경하는 두 가지 방법이 있습니다.
  • 선택 사항으로 "if" 문을 사용하여 학생의 시험을 숫자 성적에 따라 합격/불합격으로 표시해야 하는지 여부를 계산할 수 있습니다.

이제 전문가처럼 Java의 클래스 및 객체 작업을 시작할 준비가 되었습니다!