개요

본문에 들어가기전 Swift를 스프링처럼 사용하는게 뭐지? 어떤 의미지? 라는 의문이 드시는 분들은 바로 전에 작성한 글

Swift를 스프링처럼 사용하기 - 0편 Swift를 어떻게 Spring처럼 사용해? 편을 읽고 와주시면 감사하겠습니다!

 

주의!

본문에 들어가기전 본 글에서 필요한 지식만 얻어가시고 본인이 틀렸다고 생각드는 부분은 필터링해서 읽으시길 바랍니다

Swift의 인터페이스는 무엇일까?

전 객체지향을 자바로 처음 접하게 되었습니다. 그러다보니 프로젝트 구조나 개발 스타일 모두 자바에 맞춰져 있었습니다.

그러다가 Swift라는 언어를 사용하게 되었을때 처음으로 생각이 든건 어? 구현체를 만들고 싶은데 Swift의 인터페이스가 뭐지? 라는 생각이였습니다.

그래서 이 글을 작성하게 되었습니다. 1편 Swift의 인터페이스 Swift의 "Protocol" 편입니다

Swift의 Protocol이란?

protocol이란 단어는 A와 B간의 통신을 하기 위한 일종의 규약이라는 의미를 가지고 있습니다.

Swift에서는 여러가지의 역할로써 사용되고 있지만 제일 대중적인 사용 방법은 객체 추상화에 의미를 가지고 있다고 생각합니다.

이로써 개발자들은 더 이상 구현체에 의존하지 않고 추상화를 통해 확장을 할 수 있는 OOP의 장점을 활용하게 되죠

//프로토콜 (자바의 인터페이스)
protocol exapmle {
    func exmapleFunc(_ text:String) -> String
 }
 
 //구현체 클래스 
 class exampleImpl:example {
	func exampleFunc(_ text:String) -> String {
    	   return text
     }
  }

위 코드는 Swift의 프로토콜을 활용해서 객체를 추상화하고 그에 대한 구현체를 구현한 예제입니다.

아래에 똑같은 Java 코드를 보여드리도록 하겠습니다

//인터페이스
public interface exapmle {
    String exmapleFunc(String text);
 }
 
 //구현체 클래스 
 public class exampleImpl implements example {
	public String exampleFunc(String text) {
    	   return text;
     	}
  }

만약 자바를 기존에 어느정도 하셨던 분이라면 바로 머리속에 이해가 될거라고 생각을 합니다.

이런 예제 말고도 struct에 사용하거나 기타 등등 많은 활용법이 있습니다.

하지만 이 시리즈는 자바를 사용하시던 개발자분들이 Swift에서 객체지향을 사용하고자하는 고민에 힌트를 드리고 싶은 글이라 기타 많은 활용법들은 다른 글에서 다루도록 하겠습니다.

 

이렇게 해서 저희는 1편 Swift의 인터페이스를 알아보는것만으로도 친숙한 객체지향 개발에 한걸음 다가갈 수 있었습니다!

 

다음편은 2편 Swift에서 싱글톤 인스턴스 생성 및 관리를 해보자!로 만나뵙겠습니다.

감사합니다.

 

잘못된 내용이나 수정해야 할 부분이 있으면 가감없이 댓글로 피드백해주시면 감사하겠습니다! 

반응형
복사했습니다!