[JAVA] 인터페이스 심화: 다중 상속, 다중 구현
·
BackEnd/JAVA
1. 추상 클래스보다 인터페이스를 주로 사용하는 이유자바에서 인터페이스는 추상 클래스와 비슷한 역할을 하지만, 특정 상황에서는 더 유연하고 효과적인 설계 방식을 제공합니다. 특히, 다중 구현과 같은 특성 때문에 추상 클래스보다 인터페이스를 더 자주 사용하는 경향이 있습니다. 그 이유는 다음과 같습니다.1.1 다중 구현이 가능하다자바는 클래스 간의 다중 상속을 허용하지 않습니다. 즉, 한 클래스는 오직 하나의 부모 클래스만 상속받을 수 있습니다. 하지만 인터페이스는 여러 개를 동시에 구현할 수 있습니다. 이를 통해 클래스가 여러 역할을 동시에 가질 수 있게 되어 설계의 유연성이 크게 증가합니다.// 인터페이스 1interface Drivable { void drive();}// 인터페이스 2inter..
[JAVA] 자바 부모클래스 및 인터페이스 심화: 오버라이딩과 메서드 동작
·
BackEnd/JAVA
1. 자바 부모 클래스와 인터페이스 메서드를 오버라이딩 하지 않게 하는 방법자바에서 인터페이스나 부모 클래스의 메서드를 오버라이딩하지 않게 하려면 final 키워드를 활용하는 것이 핵심입니다. 하지만, 각각의 경우에서 어떻게 적용되는지 좀 더 자세히 설명드리겠습니다.1.1 부모 클래스 메서드를 오버라이딩 하지 않게 하려면부모 클래스에서 자식 클래스가 특정 메서드를 오버라이딩하지 못하게 하려면, 해당 메서드를 final로 선언해야 합니다. final로 선언된 메서드는 자식 클래스에서 오버라이딩할 수 없습니다.class Parent { public final void someMethod() { // 이 메서드는 오버라이딩 불가 }}class Child extends Parent { ..
[JAVA] 인터페이스 정리
·
BackEnd/JAVA
1. 인터페이스란?자바에서 인터페이스는 클래스가 구현해야 하는 메서드의 규격(계약)을 정의하는 역할을 합니다. 즉, 행동의 청사진(스펙)을 제공하며, 인터페이스에 선언된 메서드들을 해당 인터페이스를 구현하는 클래스가 반드시 구현해야 합니다.인터페이스는 자바의 다형성(Polymorphism)을 지원하는 중요한 개념 중 하나로, 이를 통해 서로 다른 클래스들이 동일한 방식으로 호출될 수 있도록 보장합니다.2. 인터페이스의 특징2.1 메서드 선언만 존재 (자동으로 public abstract 적용)인터페이스 내의 메서드는 구현부가 없는 추상적인 메서드입니다. 별도로 public 또는 abstract를 명시하지 않아도, 모든 인터페이스 메서드는 자동으로 public과 abstract가 적용됩니다. 즉, 인터페이..