Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 스프링부트 계층구조
- 비동기
- 스프링
- 로그인/로그아웃
- 스프링 부트 테스트
- Java
- @temproal
- spring
- formmatted
- ./gr
- 프레젠테이션 계층
- 스프링부트
- JPA
- IPC
- 작업명중복
- JWT
- ORM
- 비즈니스 계층
- MSA
- 스프링부트 구조
- java I/O
- 로그인 인증 흐름
- http
- 동기
- 토큰기반 인증
- 세션기반 인증
- ./gradlew docker
- RESTfull API
- 어노테이션
- 퍼시스턴스 계층
Archives
- Today
- Total
[DEV] J-Jay
인터페이스(interface) 본문
728x90
인터페이스
객체 지향 프로그래밍에서 추상화를 통해 코드의 재사용성과 유지보수성을 높이는 기술 중 하나이다. 인터페이스는 메소드의 선언만으로 기능을 정의하고, 이를 구현하는 클래스에서 모든 메소드를 구현해야 한다.
글로만 설명하면 이해가 힘드니 직접 구현을 해보겠다.
예제: 동물 인터페이스
interface Animal {
public void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println("멍멍");
}
}
class Cat implements Animal {
public void makeSound() {
System.out.println("야옹");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
dog.makeSound(); //멍멍
cat.makeSound(); //야옹
}
}
Animal 인터페이스는 makeSound() 메소드를 선언하고 있고,
이를 구현하는 Dog 클래스와 Cat 클래스에서는 각각 "멍멍" 과 "야옹" 소리를 출력하도록 구현했다.
Main 클래스에서는 Animal 인터페이스를 구현한 객체를 생성하고, makeSound() 메소드를 호출하여 동물의 소리를 출력한다.
Animal 인터페이스는 makeSound() 메소드를 선언하고 있습니다. 이를 구현하는 Dog 클래스와 Cat 클래스에서는 각각 멍멍과 야옹 소리를 출력하도록 구현하였습니다.
결론
이와 같이 인터페이스를 사용하면, 서로 다른 클래스에서 같은 인터페이스를 구현하여 동일한 기능을 수행할 수 있다.
'Back-end > Java' 카테고리의 다른 글
Java I/O - 2 (0) | 2023.05.02 |
---|---|
Java I/O - 1 (0) | 2023.05.01 |
추상(abstract) (0) | 2023.04.30 |
Generic (0) | 2023.04.29 |
String (0) | 2023.04.23 |