정보처리기사 실기 java 요약

SH·2023년 10월 2일
0

자격증

목록 보기
2/5

1. 기본 구조:

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 메소드가 있어야 프로그램을 실행할 수 있습니다.

2. 변수와 데이터 타입:

int age = 25;
double price = 10.99;
char letter = 'A';
boolean isTrue = true;
String name = "John";

3. 조건문:

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");
}

4. 반복문:

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);
}

5. 메소드:

public static int add(int a, int b) {
    return a + b;
}

6. 클래스와 객체:

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 클래스는 "품종"과 "나이"라는 상태를 나타내는 필드와 "짖다"와 "나이 표시"라는 행위를 나타내는 메서드를 가지고 있습니다.

      객체 (Object):

    • 정의: 객체는 클래스의 인스턴스입니다. 클래스는 설계도에 불과하기 때문에 실제로 데이터를 저장하거나 동작을 수행하려면 객체를 생성해야 합니다.

    • 생성: new 키워드를 사용하여 객체를 생성하며, 생성자를 호출하여 초기화합니다.

    • 예제:

      Dog myDog = new Dog();
    • myDog 객체는 Dog 클래스의 인스턴스입니다.

    • 이 객체를 통해 클래스의 필드와 메서드에 접근할 수 있습니다.

      myDog.breed = "Golden Retriever";
      myDog.age = 5;
      myDog.bark();  // 출력: Woof Woof
      myDog.displayAge();  // 출력: 5

      클래스와 객체의 관계:

    1. 설계와 구현: 클래스는 객체의 특성과 행위를 추상화한 설계 도구입니다. 객체는 이 설계에 따라 실제로 생성된 것입니다.
    2. 재사용성: 동일한 클래스를 기반으로 여러 객체를 생성할 수 있습니다. 각 객체는 자신만의 상태(필드 값)를 가지며 동일한 행위(메서드)를 수행할 수 있습니다.
    3. 캡슐화: 클래스를 통해 데이터(필드)와 해당 데이터를 조작하는 메서드를 하나로 묶을 수 있습니다. 이를 통해 데이터의 은닉과 보호가 가능합니다.

7. 상속, 인터페이스, 추상 클래스:

Java는 다중 상속을 지원하지 않지만, 인터페이스를 사용하여 여러 기능을 한 클래스에 구현할 수 있습니다.

public interface Speakable {
    void speak();
}

public class Human implements Speakable {
    @Override
    public void speak() {
        System.out.println("Hello");
    }
}

상속은 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 상속을 통해 한 클래스가 다른 클래스의 속성과 기능을 이어받을 수 있습니다. 이렇게 함으로써 코드의 재사용성이 높아지고, 모듈화 및 확장성이 향상되며, 코드의 구조가 더 체계적으로 정리됩니다.

상속의 기본 개념:

  1. 기반 클래스 (부모 클래스 / 슈퍼 클래스): 다른 클래스에게 속성과 메소드를 제공하는 클래스입니다.
  2. 파생 클래스 (자식 클래스 / 서브 클래스): 기반 클래스로부터 속성과 메소드를 상속받는 클래스입니다.

상속의 주요 이점:

  1. 재사용성: 이미 작성된 클래스의 코드를 재사용하여 새로운 클래스를 생성할 수 있습니다.
  2. 확장성: 기존의 클래스를 수정하지 않고 기능을 확장하거나 수정할 수 있습니다.
  3. 유지 보수: 중복 코드를 최소화함으로써 유지 보수가 용이해집니다.

Java에서의 상속:

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(); // 자식 클래스의 메소드
    }
}

주의사항:

  1. 단일 상속: Java는 다중 상속 (한 클래스가 여러 부모 클래스로부터 상속받는 것)을 지원하지 않습니다. 이는 다중 상속의 문제점 (예: 다이아몬드 문제)을 방지하기 위한 것입니다. 다만, 인터페이스를 통해 다중 상속과 유사한 효과를 얻을 수 있습니다.
  2. 메서드 오버라이딩: 자식 클래스는 부모 클래스의 메서드를 재정의(오버라이딩)할 수 있습니다. 이를 통해 상속받은 메서드의 기능을 변경하거나 확장할 수 있습니다.
  3. super 키워드: 자식 클래스 내부에서 부모 클래스의 메서드나 필드에 접근할 때 super 키워드를 사용할 수 있습니다.

0개의 댓글