본문 바로가기
728x90
반응형
코딩에 대해 아예 처음 입문하시는 분들이라면 
아래 링크의 1탄부터 보고 오시는 걸 추천드립니다.

2023.08.06 - [코딩/JAVA] - Spring 공부하기 전 알아야하는 JAVA 기초 개념 (1탄)

 

Spring 공부하기 전 알아야하는 JAVA 기초 개념 (1탄)

처음 1탄은 완전 JAVA의 기초를 다루기에 다른 언어를 학습해보셨던 분들은 2탄부터 보시는 걸 추천드립니다 :) 변수와 데이터 타입 변수는 데이터를 저장하는 메모리 공간을 가리키며, 데이터 타

quddkflty.tistory.com

 

배열의 선언과 사용

public class ArrayExample {
    public static void main(String[] args) {
        // 배열 선언과 초기화
        int[] numbers = new int[5];
        numbers[0] = 10;
        numbers[1] = 20;
        numbers[2] = 30;
        numbers[3] = 40;
        numbers[4] = 50;

        // 배열 요소 출력
        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Element at index " + i + ": " + numbers[i]);
        }
    }
}
  • 배열은 동일한 데이터 타입의 요소들을 한 번에 여러 개 저장할 수 있는 자료 구조로,선언과 동시에 크기를 정해야하며, 크기를 변경할 수 없다.

Java의 컬렉션 프레임워크

import java.util.ArrayList;
import java.util.HashMap;

public class CollectionExample {
    public static void main(String[] args) {
        // ArrayList 사용
        ArrayList<String> names = new ArrayList<>(); // ArrayList 객체 생성 (타입 매개변수로 String 지정)
        names.add("Alice"); // ArrayList에 "Alice" 요소 추가
        names.add("Bob");   // ArrayList에 "Bob" 요소 추가
        names.add("Charlie"); // ArrayList에 "Charlie" 요소 추가

        // HashMap 사용
        HashMap<String, Integer> scores = new HashMap<>(); // HashMap 객체 생성 (키: String, 값: Integer)
        scores.put("Alice", 90); // HashMap에 ("Alice", 90) 키-값 쌍 추가
        scores.put("Bob", 80);   // HashMap에 ("Bob", 80) 키-값 쌍 추가
        scores.put("Charlie", 95); // HashMap에 ("Charlie", 95) 키-값 쌍 추가

        // ArrayList 요소 출력
        System.out.println("Names: " + names); // Output: Names: [Alice, Bob, Charlie]

        // HashMap 요소 출력
        for (String name : scores.keySet()) { // HashMap의 모든 키에 대해 반복
            int score = scores.get(name); // 키(name)를 이용하여 해당 값(score) 조회
            System.out.println(name + "'s score: " + score); // 각 학생의 이름과 점수 출력
        }
    }
}
  • Java의 *컬렉션 프레임워크는 다양한 자료구조를 제공하는 인터페이스와 클래스들의 모음이다.
  • 위 예시에서는 ArrayList과 HashMap을 사용하는 방법을 보여주고 있다.
    • ArrayList은 가변 크기의 동적 배열을 구현한 클래스로, 요소를 추가하거나 삭제할 수 있다.
    • HashMap은 키와 값으로 이루어진 키-값 쌍을 저장하는 클래스로, 특정 키를 통해 값을 찾아볼 수 있다.

* 그 외에도 다양한 JAVA 컬렉션이 있는데 다음에 다루어보도록 하겠습니다:)

 

인터페이스와 추상 클래스의 정의와 사용

// 인터페이스 정의
interface Drawable {
    void draw(); // 추상 메서드 선언
}

// 추상 클래스 정의
abstract class Shape {
    String color;

    Shape(String color) {
        this.color = color;
    }

    // 추상 메서드 선언
    abstract double getArea();
}

// Circle 클래스는 Shape 클래스를 상속하고 Drawable 인터페이스를 구현
class Circle extends Shape implements Drawable {
    double radius;

    Circle(String color, double radius) {
        super(color);
        this.radius = radius;
    }

    // Shape 클래스의 추상 메서드 구현
    @Override
    double getArea() {
        return Math.PI * radius * radius;
    }

    // Drawable 인터페이스의 추상 메서드 구현
    @Override
    public void draw() {
        System.out.println("Drawing a circle with radius " + radius + " and color " + color);
    }
}

public class InterfaceAbstractExample {
    public static void main(String[] args) {
        Circle circle = new Circle("Red", 5.0);
        circle.draw(); // Output: Drawing a circle with radius 5.0 and color Red
        System.out.println("Area: " + circle.getArea()); // Output: Area: 78.53981633974483
    }
}
  • 인터페이스란 메서드의 선언만을 갖고 있는 추상 클래스로, 클래스가 반드시 구현해야 하는 메서드들을 정의할 수 있다.
  • 추상 클래스는 하나 이상의 추상 메서드를 가진 클래스로, 객체를 직접 생성할 수 없으며 상속을 통해 자식 클래스에서 추상 메서드를 구현해야 한다.
  • 이를 통해 코드 재사용성을 높이고, 다형성을 구현할 수 있습니다.

 

다음  6편에서는 스레드(Thread)에 대해 동기화와, 멀티스레드 개념에 대해 다루겠습니다 :0

2023.08.06 - [분류 전체보기] - Spring 공부하기 전 알아야하는 JAVA 기초 개념 (6탄) - 스레드(Thread)

 

Spring 공부하기 전 알아야하는 JAVA 기초 개념 (6탄) - 스레드(Thread)

코딩에 대해 아예 처음 입문하시는 분들이라면 아래 링크의 1탄부터 보고 오시는 걸 추천드립니다. 2023.08.06 - [코딩/JAVA] - Spring 공부하기 전 알아야하는 JAVA 기초 개념 (1탄) Spring 공부하기 전 알

quddkflty.tistory.com

 

 

728x90
반응형