[JAVA] 인터페이스 정리
·
BackEnd/JAVA
1. 인터페이스란?자바에서 인터페이스는 클래스가 구현해야 하는 메서드의 규격(계약)을 정의하는 역할을 합니다. 즉, 행동의 청사진(스펙)을 제공하며, 인터페이스에 선언된 메서드들을 해당 인터페이스를 구현하는 클래스가 반드시 구현해야 합니다.인터페이스는 자바의 다형성(Polymorphism)을 지원하는 중요한 개념 중 하나로, 이를 통해 서로 다른 클래스들이 동일한 방식으로 호출될 수 있도록 보장합니다.2. 인터페이스의 특징2.1 메서드 선언만 존재 (자동으로 public abstract 적용)인터페이스 내의 메서드는 구현부가 없는 추상적인 메서드입니다. 별도로 public 또는 abstract를 명시하지 않아도, 모든 인터페이스 메서드는 자동으로 public과 abstract가 적용됩니다. 즉, 인터페이..
[JAVA] 추상 클래스 (Abstract Class) 정리
·
BackEnd/JAVA
1. 추상 클래스 (Abstract Class)란?추상 클래스란 클래스의 설계도를 제공하지만 완전하지 않은 클래스입니다. 즉, 일부 메서드는 구현되어 있지만, 구체적인 내용을 정의하지 않은 추상 메서드를 포함할 수 있습니다. 추상 클래스는 직접 객체를 생성할 수 없으며, 상속을 통해 자식 클래스에서 구체적으로 구현해야 합니다.1.1 추상 클래스 정의추상 클래스는 abstract 키워드를 사용하여 선언합니다.추상 메서드도 abstract 키워드를 사용하며, 해당 메서드는 내용 없이 메서드 선언만 있습니다.자식 클래스에서 추상 메서드를 반드시 구현해야 합니다.2. 추상 클래스의 특징2.1 추상 클래스는 객체를 생성할 수 없다.추상 클래스는 불완전한 클래스이므로 직접적으로 객체를 생성할 수 없습니다. 추상 메..
[JAVA] 접근 지정자 (Access Modifiers) 정리
·
BackEnd/JAVA
1. 접근 지정자란?자바에서 접근 지정자(access modifier)는 클래스, 메서드, 변수 등에 대한 접근 범위를 설정하는 키워드입니다. 접근 지정자는 클래스 외부에서 해당 멤버에 대해 어디까지 접근할 수 있는지를 제어합니다. 접근 범위를 설정함으로써 캡슐화(encapsulation)를 강화하고, 코드의 보안성과 유지보수성을 높일 수 있습니다.접근 지정자는 총 네 가지가 있으며, 각각은 해당 멤버에 대해 접근할 수 있는 범위(동일 패키지, 자식 클래스, 외부 클래스 등)를 제한하거나 허용하는 역할을 합니다. 클래스 설계 시 접근 지정자를 적절히 사용함으로써 데이터 보호, 코드의 모듈화, API의 안정성 등을 보장할 수 있습니다.2. 접근 지정자의 종류2.1 public 접근 지정자정의: public..
[JAVA] 자바에서 main 메서드가 static인 이유
·
BackEnd/JAVA
자바를 처음 배우면 가장 먼저 접하는 메서드가 바로 main 메서드입니다. 하지만 "왜 main 메서드는 항상 static으로 선언되어야 하는가?"라는 질문에 대해 깊이 생각해 본 적 있으신가요? 이번 포스팅에서는 자바의 main 메서드와 static 키워드의 관계를 쉽게 이해할 수 있도록 정리해 보겠습니다.1. main 메서드란?main 메서드는 자바 애플리케이션의 진입점(entry point)입니다. JVM(Java Virtual Machine)은 프로그램 실행 시 가장 먼저 main 메서드를 호출하여 프로그램을 시작합니다.public static void main(String[] args) { // 실행될 코드}구성 요소public: JVM이 외부에서 접근할 수 있도록 선언static: 객체 ..