Java 모듈 시스템의 개념 모듈 시스템은 큰 애플리케이션을 작고, 독립적인 모듈로 나누는 것을 가능하게 해줍니다. 각 모듈은 특정 기능을 수행하며, 필요한 다른 모듈에 대한 의존성을 명시합니다. 이러한 접근 방식은 애플리케이션의 구조를 더 명확하게 하고, 코드의 재사용성을 높이며, 유지 보수를 용이하게 합니다. 주요 특징 강력한 캡슐화: 모듈은 자신이 공개하고자 하는 API만을 외부에 노출하며, 내부 구현은 숨길 수 있습니다. 이는 강력한 캡슐화를 가능하게 하여, 모듈 간의 결합도를 낮춥니다. 명시적인 모듈 의존성: 모듈은 사용하고자 하는 다른 모듈에 대한 의존성을 module-info.java 파일을 통해 명시적으로 선언합니다. 이는 모듈 간의 관계를 명확히 하고, 의존성 관리를 간소화합니다. 확장성..
객체 지향 프로그래밍의 핵심 개념 1. 클래스와 객체 클래스(Class): 객체를 생성하기 위한 템플릿이며, 객체의 상태(속성)와 행동(메소드)을 정의합니다. 객체(Object): 클래스에 의해 생성된 실체로, 클래스의 인스턴스(Instance)라고도 합니다. 각 객체는 독립된 상태와 행동을 가집니다. public class Car { // 속성 String brand; int year; // 메소드 public void drive() { System.out.println("The car is driving."); } } 2. 캡슐화(Encapsulation) 캡슐화는 객체의 상태를 보호하고, 외부에서의 무분별한 접근을 제한하는 기법입니다. 주로 private 키워드를 사용하여 데이터를 숨기고, publ..
Encapsulation (캡슐화) 클래스내의 기능을 어떻게 구현되어 있는지 다른 곳에서 볼 수 없도록 숨기는것 접근제어자를 이용 하여 접근을 제어 할 수 있다 . Inheritance (상속) 부모클래스에 있는 속성과 기능을 사용할 수 있다. Polymorphism (다형성) 하나의 코드가 여러 가지 행위를 할 수 있다. 오버라이딩(Overriding) - 상속받은 메소드 내의 로직을 새롭게 정의하는 것 오버로딩 (Overloading) - 하나의 클래스에서 같은 이름의 메소드를을 여러 개 가질 수 있게 하는 것 참고자료 : https://jinsangjin.tistory.com/74 [개발자 면접]객체지향이란? + 객체지향의 3요소 객체지향이란? 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 ..