공부해보잠
Java클래스 본문
Java 클래스
클래스(Class)란 객체를 만들기 위한 설계도이다.
Java에서는 프로그램을 만들기 위해 반드시 클래스를 정의하고 사용해야 한다.
클래스를 사용하면 좋은 점
- 코드를 재사용할 수 있다.
- 객체지향 프로그래밍(OOP)을 통해 유지보수가 쉬워진다.
- 캡슐화, 상속, 다형성과 같은 기능을 활용할 수 있다.
Java 클래스 작성 순서
Java에서 클래스를 만들어 사용하는 기본적인 순서는 다음과 같다.
클래스의 정의
class 클래스이름 {
// 필드 (속성)
데이터타입 변수이름;
// 메소드 (동작)
반환타입 메소드이름() {
실행할 코드;
}
}
객체 생성 (new 키워드 사용)
클래스이름 객체이름 = new 클래스이름();
객체 사용 (필드 및 메소드 호출)
객체이름.필드이름 = 값;
객체이름.메소드이름();
Java 클래스 예제
// 자동차 클래스(Car) 정의
class Car {
// 필드 (속성)
String color;
int speed;
// 메소드 (동작)
void drive() {
System.out.println("자동차가 달립니다.");
}
void stop() {
System.out.println("자동차가 멈춥니다.");
}
}
// 메인 클래스
public class Main {
public static void main(String[] args) {
// 객체 생성 (Car 클래스 기반)
Car myCar = new Car();
// 필드 값 설정
myCar.color = "빨강";
myCar.speed = 100;
// 메소드 호출
myCar.drive();
System.out.println("자동차 색상: " + myCar.color);
System.out.println("자동차 속도: " + myCar.speed + "km/h");
myCar.stop();
}
}
자동차가 달립니다.
자동차 색상: 빨강
자동차 속도: 100km/h
자동차가 멈춥니다.
Car 클래스는 속성(필드)과 동작(메소드)을 정의하는 설계도이다.
new Car();을 사용해 myCar라는 객체를 생성했다.
myCar.drive();와 같이 메소드를 호출하여 동작을 수행할 수 있다.
Java 상속 (Inheritance)
상속(Inheritance)은 기존 클래스를 확장하여 새로운 클래스를 만드는 것을 의미한다.
즉, 부모(상위) 클래스의 필드와 메소드를 자식(하위) 클래스가 물려받아 사용할 수 있다.
상속을 사용하면 좋은 점
- 코드의 중복을 줄이고 유지보수가 용이해진다.
- 기존 클래스를 확장하여 새로운 기능을 추가할 수 있다.
- 객체지향 프로그래밍(OOP) 개념을 활용할 수 있다.
Java에서 상속을 구현하는 방법
class 부모클래스 {
// 필드와 메소드 정의
}
class 자식클래스 extends 부모클래스 {
// 부모 클래스의 기능을 물려받고 새로운 기능 추가 가능
}
Java 상속 예제
// 부모 클래스 (Car)
class Car {
String brand = "현대"; // 기본 브랜드
int speed;
void drive() {
System.out.println(brand + " 자동차가 달립니다.");
}
}
// 자식 클래스 (SportsCar) - Car 클래스를 상속받음
class SportsCar extends Car {
int turboSpeed;
void turboBoost() {
System.out.println("속도 증가: " + turboSpeed + "km/h");
}
}
// 메인 클래스
public class Main {
public static void main(String[] args) {
// SportsCar 객체 생성
SportsCar myCar = new SportsCar();
// 부모 클래스(Car)의 필드와 메소드 사용 가능
myCar.speed = 120;
myCar.drive(); // 부모 클래스 메소드 호출
// 자식 클래스(SportsCar)만의 기능 사용
myCar.turboSpeed = 50;
myCar.turboBoost(); // 자식 클래스 메소드 호출
}
}
현대 자동차가 달립니다.
속도 증가: 50km/h
SportsCar 클래스는 Car 클래스를 상속받았기 때문에 Car의 필드와 메소드를 사용할 수 있다.
SportsCar만의 새로운 기능인 turboBoost() 메소드도 추가할 수 있다.
Java 클래스 & 상속 핵심 요약
개념 | 설명 |
클래스(Class) | 객체를 생성하기 위한 설계도 |
객체(Object) | 클래스를 기반으로 생성된 실체 |
new 키워드 | 객체를 생성할 때 사용 (Car myCar = new Car();) |
상속(Inheritance) | 기존 클래스를 확장하여 새로운 클래스를 만드는 기능 |
extends 키워드 | 상속을 표현할 때 사용 (class 자식클래스 extends 부모클래스 {}) |
즉, Java에서 클래스를 사용하면 코드 재사용성이 높아지고, 상속을 활용하면 기존 코드를 확장하여 더 강력한 프로그램을 만들 수 있다
728x90