java
이 튜토리얼에서는 예제를 통해 Java의 클래스와 객체 개념에 대해 배울 것입니다.
자바는 객체 지향 프로그래밍 언어입니다. 객체 지향 접근 방식의 핵심 개념은 복잡한 문제를 더 작은 객체로 나누는 것입니다.
개체는 상태가 있는 모든 항목입니다. 및 행동 . 예를 들어, 자전거 개체입니다. 가지고 있습니다
객체에 대해 배우기 전에 먼저 Java의 클래스에 대해 알아보겠습니다.
<시간>클래스는 객체의 청사진입니다. 객체를 생성하기 전에 먼저 클래스를 정의해야 합니다.
우리는 클래스를 집의 스케치(프로토타입)로 생각할 수 있습니다. 여기에는 바닥, 문, 창문 등에 대한 모든 세부 정보가 포함되어 있습니다. 이러한 설명을 기반으로 집을 짓습니다. 집이 오브제입니다.
동일한 설명으로 많은 집을 만들 수 있으므로 클래스에서 많은 개체를 만들 수 있습니다.
<시간>class 키워드를 사용하여 Java에서 클래스를 생성할 수 있습니다. 예를 들어,
class ClassName {
// fields
// methods
}
여기, 필드 (변수) 및 메서드 주를 나타냅니다. 및 행동 개체의 각각.
자전거의 경우 객체, 우리는 클래스를 다음과 같이 생성할 수 있습니다.
class Bicycle {
// state or field
private int gear = 5;
// behavior or method
public void braking() {
System.out.println("Working of Braking");
}
}
위의 예에서 Bicycle이라는 클래스를 만들었습니다. . 여기에는 gear라는 필드가 포함됩니다. 및 braking()이라는 메서드 .
여기, 자전거 프로토타입이다. 이제 프로토타입을 사용하여 자전거를 원하는 수만큼 만들 수 있습니다. 그리고 모든 자전거는 프로토타입의 필드와 방법을 공유합니다.
참고 :private
키워드를 사용했습니다. 및 public
. 이를 액세스 수정자라고 합니다. 자세한 내용은 Java 액세스 수정자를 방문하십시오.
객체를 클래스의 인스턴스라고 합니다. 예를 들어 자전거라고 가정해 보겠습니다. 클래스인 경우 MountainBicycle , 스포츠바이크 , 투어링바이크 , 등은 클래스의 객체로 간주될 수 있습니다.
다음은 클래스의 개체를 만드는 방법입니다.
className object = new className();
// for Bicycle class
Bicycle sportsBicycle = new Bicycle();
Bicycle touringBicycle = new Bicycle();
new
를 사용했습니다. 객체를 생성하기 위해 클래스의 생성자와 함께 키워드. 생성자는 메서드와 유사하며 클래스와 이름이 같습니다. 예:Bicycle()
자전거의 생성자입니다. 수업. 자세한 내용은 Java 생성자를 방문하십시오.
여기, sportsBicycle 및 touringBicycle 객체의 이름입니다. 이를 사용하여 클래스의 필드와 메서드에 액세스할 수 있습니다.
보시다시피 클래스의 두 개체를 만들었습니다. Java에서 단일 클래스의 여러 개체를 만들 수 있습니다.
참고 :클래스의 필드와 메소드를 클래스의 멤버라고도 합니다.
<시간>
.
과 함께 개체 이름을 사용할 수 있습니다. 클래스의 멤버에 액세스하는 연산자입니다. 예를 들어,
class Bicycle {
// field of class
int gear = 5;
// method of class
void braking() {
...
}
}
// create object
Bicycle sportsBicycle = new Bicycle();
// access field and method
sportsBicycle.gear;
sportsBicycle.braking();
위의 예에서 Bicycle이라는 클래스를 만들었습니다. . 여기에는 gear라는 필드가 포함됩니다. 및 braking()
이라는 메서드 . 진술을 주목하십시오.
Bicycle sportsBicycle = new Bicycle();
여기에서 Bicycle 객체를 만들었습니다. 이름이 sportsBicycle . 그런 다음 개체를 사용하여 클래스의 필드와 메서드에 액세스합니다.
braking()
메소드에 액세스 방법이라는 단어를 언급했습니다. 꽤 몇 번. 다음 장에서 Java 메소드에 대해 자세히 배울 것입니다.
이제 클래스와 객체가 무엇인지 이해했습니다. 완전히 작동하는 예를 살펴보겠습니다.
<시간>
class Lamp {
// stores the value for light
// true if light is on
// false if light is off
boolean isOn;
// method to turn on the light
void turnOn() {
isOn = true;
System.out.println("Light on? " + isOn);
}
// method to turnoff the light
void turnOff() {
isOn = false;
System.out.println("Light on? " + isOn);
}
}
class Main {
public static void main(String[] args) {
// create objects led and halogen
Lamp led = new Lamp();
Lamp halogen = new Lamp();
// turn on the light by
// calling method turnOn()
led.turnOn();
// turn off the light by
// calling method turnOff()
halogen.turnOff();
}
}
출력 :
Light on? true Light on? false
위의 프로그램에서 Lamp라는 클래스를 만들었습니다. . 여기에는 isOn 변수가 포함되어 있습니다. 및 두 가지 방법:turnOn()
및 turnOff()
.
메인 내부 클래스에서 led라는 두 개의 객체를 생성했습니다. 및 할로겐 램프 수업. 그런 다음 개체를 사용하여 클래스의 메서드를 호출했습니다.
true
에 대한 변수 출력을 인쇄합니다.false
변수 출력을 인쇄합니다.변수 isOn 클래스 내부에 정의된 변수를 인스턴스 변수라고도 합니다. 클래스의 객체를 생성할 때 클래스의 인스턴스라고 하기 때문입니다. 그리고 각 인스턴스에는 변수의 고유한 복사본이 있습니다.
즉, led 및 할로겐 개체는 isOn의 자체 복사본을 갖습니다. 변수.
<시간>이전 예제에서는 다른 클래스 내부에 개체를 만들고 해당 클래스의 멤버에 액세스했습니다.
그러나 동일한 클래스 내에서 객체를 생성할 수도 있습니다.
class Lamp {
// stores the value for light
// true if light is on
// false if light is off
boolean isOn;
// method to turn on the light
void turnOn() {
isOn = true;
System.out.println("Light on? " + isOn);
}
public static void main(String[] args) {
// create an object of Lamp
Lamp led = new Lamp();
// access method using object
led.turnOn();
}
}
출력
Light on? true
여기서는 main()
내부에 객체를 생성합니다. 같은 클래스의 메서드입니다.
java
자바 PrintStream 클래스 이 자습서에서는 예제를 통해 Java PrintStream 클래스와 해당 print() 및 printf() 메서드에 대해 배웁니다. PrintStream java.io 클래스 패키지는 바이트 대신 일반적으로 읽을 수 있는 형식(텍스트)으로 출력 데이터를 쓰는 데 사용할 수 있습니다. 추상 클래스 OutputStream를 확장합니다. . PrintStream 작업 다른 출력 스트림과 달리 PrintStream 기본 데이터(정수, 문자)를 바이트 대신 텍스트 형식으로 변환합니다. 그런 다음
자바 리더 클래스 이 자습서에서는 예제를 통해 Java Reader, 하위 클래스 및 메서드에 대해 알아봅니다. Reader java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Reader 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 읽을 수 있습니다. 리더의 하위 클래스 Reader의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedReader InputStreamReader 파일