public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
public class HelloWorld
: 클래스 선언. 모든 Java 코드는 클래스 내부에 있어야 합니다.public static void main(String[] args)
: Java 프로그램의 시작점. main
메소드가 있어야 프로그램을 실행할 수 있습니다.int age = 25;
double price = 10.99;
char letter = 'A';
boolean isTrue = true;
String name = "John";
if (age > 18) {
System.out.println("Adult");
} else {
System.out.println("Not an adult");
}
switch (day) {
case "Monday":
System.out.println("Start of the week");
break;
case "Friday":
System.out.println("End of the week");
break;
default:
System.out.println("Middle of the week");
}
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
while (age < 30) {
System.out.println("Still young");
age++;
}
for (String item : items) {
System.out.println(item);
}
public static int add(int a, int b) {
return a + b;
}
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void introduce() {
System.out.println("My name is " + name + " and I am " + age + " years old.");
}
}
**Person john = new Person("John", 25);
john.introduce();**
정의: 클래스는 객체의 특성과 동작을 정의하는 설계 도구입니다. 클래스는 변수와 메소드로 구성되어 있으며, 이는 객체의 상태와 행위를 나타냅니다.
구성: 클래스는 필드(멤버 변수)와 메서드로 구성됩니다.
예제:
public class Dog {
// 필드(멤버 변수)
String breed;
int age;
// 메서드
public void bark() {
System.out.println("Woof Woof");
}
public void displayAge() {
System.out.println(age);
}
}
위의 Dog
클래스는 "품종"과 "나이"라는 상태를 나타내는 필드와 "짖다"와 "나이 표시"라는 행위를 나타내는 메서드를 가지고 있습니다.
정의: 객체는 클래스의 인스턴스입니다. 클래스는 설계도에 불과하기 때문에 실제로 데이터를 저장하거나 동작을 수행하려면 객체를 생성해야 합니다.
생성: new
키워드를 사용하여 객체를 생성하며, 생성자를 호출하여 초기화합니다.
예제:
Dog myDog = new Dog();
myDog
객체는 Dog
클래스의 인스턴스입니다.
이 객체를 통해 클래스의 필드와 메서드에 접근할 수 있습니다.
myDog.breed = "Golden Retriever";
myDog.age = 5;
myDog.bark(); // 출력: Woof Woof
myDog.displayAge(); // 출력: 5
Java는 다중 상속을 지원하지 않지만, 인터페이스를 사용하여 여러 기능을 한 클래스에 구현할 수 있습니다.
public interface Speakable {
void speak();
}
public class Human implements Speakable {
@Override
public void speak() {
System.out.println("Hello");
}
}
상속은 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 상속을 통해 한 클래스가 다른 클래스의 속성과 기능을 이어받을 수 있습니다. 이렇게 함으로써 코드의 재사용성이 높아지고, 모듈화 및 확장성이 향상되며, 코드의 구조가 더 체계적으로 정리됩니다.
Java에서 상속은 extends
키워드를 사용하여 구현됩니다.
예제:
// 부모 클래스 (기반 클래스)
class Animal {
void eat() {
System.out.println("This animal eats food.");
}
}
// 자식 클래스 (파생 클래스)
class Dog extends Animal {
void bark() {
System.out.println("The dog barks.");
}
}
public class TestInheritance {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.eat(); // 부모 클래스로부터 상속받은 메소드
myDog.bark(); // 자식 클래스의 메소드
}
}
super
키워드를 사용할 수 있습니다.