자바 클래스 만드는 법과 상속 구조
자바 클래스의 기초 이해하기
자바는 객체 지향 프로그래밍 언어로, 코드를 재사용하고 관리하기 쉽게 하기 위해 클래스를 사용합니다. 클래스는 객체를 생성하는 데 필요한 청사진으로서, 데이터와 메소드를 포함할 수 있습니다. 자바를 배우기 시작할 때, 클래스를 만드는 방법을 익히는 것은 매우 중요합니다. 여기서 자바 클래스 생성 방법과 상속 구조에 대해 알아보겠습니다.

자바 클래스 만들기
자바에서 클래스를 정의하기 위해서는 class
키워드를 사용합니다. 기본적인 클래스 구조는 다음과 같습니다:
public class ClassName {
// 필드 (속성)
int field1;
String field2;
// 생성자
public ClassName(int field1, String field2) {
this.field1 = field1;
this.field2 = field2;
}
// 메소드
public void display() {
System.out.println("Field1: " + field1 + ", Field2: " + field2);
}
}
위의 예시에서 ClassName
이라는 이름의 클래스를 정의하였으며, 두 개의 필드와 생성자, 그리고 하나의 메소드를 포함하고 있습니다. 생성자는 클래스를 인스턴스화할 때 호출되어 필드를 초기화합니다.
상속 구조 이해하기
상속은 자바의 핵심 특징 중 하나로, 기존 클래스를 기반으로 새로운 클래스를 만드는 방법입니다. 부모 클래스의 속성과 메소드를 자식 클래스에서 활용할 수 있어 코드의 재사용성을 높이고, 유지보수를 용이하게 만듭니다.
상속의 예시
부모 클래스와 자식 클래스를 정의하는 방법은 다음과 같습니다:
public class Parent {
public void greet() {
System.out.println("안녕하세요, 부모 클래스입니다.");
}
}
public class Child extends Parent {
public void display() {
System.out.println("안녕하세요, 자식 클래스입니다.");
}
}
위의 코드에서 Child
클래스는 Parent
클래스를 상속받아 greet()
메소드를 사용할 수 있습니다. 즉, 자식 클래스에서는 부모 클래스의 메소드를 호출할 수 있는 특징이 있습니다.
자바 클래스의 멤버
자바 클래스는 다양한 멤버를 가질 수 있습니다. 이들은 크게 필드, 메소드, 생성자, 정적 메소드, 상수 등으로 나눌 수 있습니다. 각각의 역할은 다음과 같습니다:
- 필드(Field): 객체의 속성을 정의합니다.
- 메소드(Method): 객체가 수행할 수 있는 동작을 정의합니다.
- 생성자(Constructor): 객체를 초기화하는 메소드입니다.
- 정적 메소드(Static Method): 클래스에 속하며 객체 없이도 호출할 수 있습니다.
- 상수(Constant): 변경할 수 없는 고정된 값을 정의합니다.
클래스와 객체의 관계
클래스는 객체를 생성하는 틀이며, 객체는 클래스의 인스턴스입니다. 클래스에서 정의된 내용을 바탕으로 실제 데이터를 가지는 객체가 만들어집니다. 즉, 클래스는 설계도이고, 객체는 그 설계도를 기반으로 만들어진 실제 구현체입니다.
객체 생성 예시
public class Main {
public static void main(String[] args) {
ClassName obj = new ClassName(10, "Hello");
obj.display();
}
}

결론
자바에서 클래스를 정의하고 상속 구조를 이해하는 것은 객체 지향 프로그래밍의 기초를 다지는 중요한 과정입니다. 클래스를 잘 활용하면 코드의 재사용성과 유지보수성을 높일 수 있습니다. 다음 단계로 나아가기 위해 자바의 다양한 기능과 클래스의 심화 개념을 배워보는 것을 추천드립니다.
질문 FAQ
자바 클래스란 무엇인가요?
자바 클래스는 객체를 정의하는 틀이며, 데이터와 메소드의 구조를 포함하고 있습니다. 이를 통해 객체 지향 프로그래밍의 기본 개념을 구현할 수 있습니다.
클래스를 어떻게 생성하나요?
클래스를 정의하기 위해서는 class
키워드를 사용하며, 클래스 내부에 필드와 메소드를 선언합니다. 생성자는 클래스의 인스턴스를 만들 때 호출됩니다.
상속이란 무엇인가요?
상속은 한 클래스가 다른 클래스의 특성과 기능을 이어받는 것이라 할 수 있습니다. 이를 통해 코드의 재사용성을 높이고, 새로운 클래스를 쉽게 생성할 수 있습니다.
객체와 클래스의 차이는 무엇인가요?
클래스는 객체를 생성하기 위한 설계도 역할을 하며, 객체는 그 설계도에 따라 만들어진 구체적인 인스턴스입니다. 즉, 클래스는 정의된 구조이고 객체는 그 구조를 바탕으로 한 실체입니다.