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

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

 

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

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

quddkflty.tistory.com

 

 

클래스와 객체

// 클래스 정의
class Car {
    String brand;
    String model;

    // 메서드
    void drive() {
        System.out.println("Driving " + brand + " " + model);
    }
}

public class Main {
    public static void main(String[] args) {
        // 객체 생성
        Car myCar = new Car();
        myCar.brand = "Toyota";
        myCar.model = "Camry";

        // 메서드 호출
        myCar.drive(); // Output: Driving Toyota Camry
    }
}
  • *클래스는 객체를 만들기 위한 템플릿으로, 필드와 메서드로 구성되며, 객체의 상태는 클래스의 필드로 표현되고, 동작은 메서드로 구현된다.
  • 객체는 클래스를 기반으로 생성된 실체로, 클래스의 *인스턴스이다. 객체는 클래스에 정의된 메서드를 호출하여 동작을 수행할 수 있다.

*인스턴스(Instance)는 객체 지향 프로그래밍(OOP)에서 클래스를 기반으로 생성된 구체적인 실체를 의미한다.

*클래스는 객체를 만들기 위한 템플릿으로, 필드(멤버 변수)와 메서드(멤버 함수)로 구성되어 있으며,클래스를 실제로 사용하려면 이 클래스를 기반으로 객체(인스턴스)를 생성해야 한다.

 

 

상속과 다형성

// 부모 클래스
class Animal {
    void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

// 자식 클래스
class Dog extends Animal {
    void makeSound() {
        System.out.println("Dog barks");
    }
}

class Cat extends Animal {
    void makeSound() {
        System.out.println("Cat meows");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog();
        Animal cat = new Cat();

        dog.makeSound(); // Output: Dog barks
        cat.makeSound(); // Output: Cat meows
    }
}
  • 상속은 한 클래스가 다른 클래스의 특징(필드와 메서드)을 물려받는 것을 의미하며 자식 클래스는 부모 클래스의 멤버를 사용할 수 있다.
  • 다형성은 같은 메서드 호출 방식이지만, 실제로 실행되는 메서드가 객체의 타입에 따라 다른 동작을 하는 특성입니다. 이를 통해 유연하고 확장 가능한 코드를 작성할 수 있다.

 

 

캡슐화와 접근 제어자

class Person {
    // 캡슐화
    private String name;
    private int age;

    // 접근자 메서드 (Getter)
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    // 설정자 메서드 (Setter)
    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("John");
        person.setAge(30);

        System.out.println("Name: " + person.getName()); // Output: Name: John
        System.out.println("Age: " + person.getAge()); // Output: Age: 30
    }
}
  • 캡슐화는 객체의 필드를 외부에서 직접 접근하지 못하도록 하여 정보 은닉을 실현하는 개념으로, 객체의 상태를 보호하고, 객체의 내부 구현을 숨기는 데 도움이 된다.
  • 접근 제어자는 멤버 변수와 메서드의 접근 범위를 지정하는데, private 해당 클래스 내부에서만 접근 가능하도록 제한하여, 접근자 메서드(Getter) 설정자 메서드(Setter) 통해 필드 값을 조작하도록 한다.

 

다음 3탄에서는 자바에서 많이 사용되는 메서드에 대해 다루어보도록 하겠습니다 :)

2023.08.06 - [분류 전체보기] - Spring 공부하기 전 알아야하는 JAVA 기초 개념 (3탄) - 메서드와 메서드 호출

 

Spring 공부하기 전 알아야하는 JAVA 기초 개념 (3탄) - 메서드와 메서드 호출

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

quddkflty.tistory.com

 

728x90
반응형