일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 유니티게임만들기
- 유니티서바이벌게임만들기
- unity게임만들기
- unity3d게임만들기
- 유니티공부
- 시샵문법
- c#기본문법
- C#문법
- c#프로그래머스기초문법
- unity게임
- 유니티상호작용
- 티스토리챌린지
- c# 백준
- c#코테
- Unity
- c#
- C++문법
- unity3d
- 유니티3dui
- 시샵
- c#코딩기초트레이닝
- c# c#프로그래머스
- 스파르타코딩클럽
- 오블완
- 유니티
- unity3dservival
- c#문제
- c#기초문법
- unity공부
- 스파르타
- Today
- Total
나 개발자 진짜 되냐?
인터페이스란? 본문
인터페이스에 대해 조금 짚고 넘어가고싶어서 써본다.
우선 한달전 썼던
인터페이스 정의를 읽고 오자!
[ C# 기본 문법 19 ] 인터페이스와 열거형
인터페이스 와 열거형에 대해 알아보자! 🌟 인터페이스 🌟 클래스가 구현해야 하는 멤버들을 정의 클래스가 아니라, 제약 조건을 명시! 클래스가 인터페이스를 구현할 경우,모든 인터페
qua28.tistory.com
인터페이스는
클래스들은 공통적인 동작을 정의하고,
이러한 동작들을 구현하는 클래스들은
해당 인터페이스를 구현(implement)함으로써 공통 규약을 준수할 수 있다.
특징
1. 추상화
:인터페이스는 추상적인 개념으로
실제로 구현된 메서드가 없고,
메서드의 시그니처만을 가진다.
따라서 인터페이스는 인스턴스화될 수 없으며,
구현체가 필요
2. 메서드 시그니처
인터페이스는 구현 클래스가 반드시 구현해야 하는 메서드들의 시그니처를 정의
메서드의 이름, 매개변수, 반환 타입이 포함
3. 다중 상속 가능
클래스는 하나의 클래스만 상속받을 수 있지만, ( 단일상속만 가능 )
여러 인터페이스를 동시에 구현 가능
이를 통해 다중 상속을 흉내내는 것이 가능
4. 강제적 구현
클래스가 인터페이스를 구현하면,
인터페이스에서 정의한 모든 메서드를 반드시 구현해야 한다.
이로 인해 클래스는 인터페이스에 정의된 동작을 강제로 구현
5. 인터페이스 간 확장
인터페이스는 다른 인터페이스를 확장(extends)할 수 있다.
이를 통해 더 큰 범위의 공통 동작을 정의 가능
사용해야하는 이유는 뭘까?
정말 단일상속인 친구를
다중상속인척 흉내내기 위해?
그것도 맞지만
코드는 결합도가 낮아야 한다.
결합도가 높다는 것은 클래스 간 의존도가 높다는 것 → 유연성이 떨어지게 된다.
구체적 구현 클래스가 아닌
작은 단위의 여러 인터페이스를 사용하는것이 좋다.
'C# 을 맛보았어요! > 문법정리를 해보았어요!' 카테고리의 다른 글
객체, 클래스, 인스턴스 차이는? (0) | 2024.10.15 |
---|---|
[ C# 기본 문법 26 ] StringBuilder 너.. 좋은 친구구나? (0) | 2024.10.08 |
[ C# 기본 문법 25 ] init 이란? (1) | 2024.10.07 |
[ C# 기본 문법 24 ] 직렬화 Serialization & 역직렬화 Deserialization (4) | 2024.10.02 |
[ C# 기본 문법 23 ] Nullable 과 StringBuilder (0) | 2024.09.24 |