목록컴퓨터과학 (10)
제이슨의 개발이야기
안녕하세요 오늘은 코틀린 스코프 함수에 대해서 공부하려고 합니다! 코틀린 범위 지정 함수에는 5개의 함수가 있는대 apply, run , with , also , let 이 있습니다 일단 스코프 함수란 함수형 언어의 특징을 좀 더 편리하게 사용할 수 있도록 제공하는 라이브러리 함수 입니다 1.apply apply는 인스턴스를 생성한 후 변수에 담기 전에 초기화 과정을 수행할 때 많이 쓰입니다 val adam = Person("Adam").apply { age = 32 city = "London" } println(adam) 2. run run은 apply처럼 스코프 안에서 참조 연산자를 사용하지 않아도 된다는 점은 같지만 일반 람다 함수 처럼 인스턴스 대신 마지막에 결과값을 반환하는 차이가 있습니다 va..
안녕하세요! 개발자에게 있어서 또 객체지향 프로그래밍에 있어서 필수 지식 SOLID 원칙 에 대해서 공부하려고 합니다! 1. 단일 책임 원칙 (Single Responsibility) 단일 책임 원칙은 하나의 class 는 하나의 책임(기능)만을 가져야 하는 원칙 입니다. 그리고 이러한 원칙을 지키는 class를 변경하게 되는 이유는 하나여야합니다. 예를 들어 로봇 class 가 있다면 요리사 로봇 , 개발자 로봇 , 목수 로봇 등 많은 종류의 로봇이 존재합니다 이때 각각의 로봇의 기능을 하나의 로봇 class에 구현하게 되면 아래의 이미지 처럼 됩니다 위의 이미지는 명백히 단일 책임 원칙을 위반하는 방식 입니다 하나의 클래스에 여러개의 책임(기능)이 존재하기 때문입니다 이 원칙을 지키기 위해서는 각 기..
안녕하세요! 오늘은 DI 프레임워크를 공부하기 전 의존성 과 의존성 주입은 무엇인지 먼저 공부하려고 합니다! 의존성이란 무엇인가?? 객체지향언어에서는 두 클래스 간 관계를 의미 합니다 조금 더 쉽게 이야기 하자면 두 클래스가 서로를 알고 있는 냐에 따라 의존하는지 안하는지 가 결정됩니다 위의 이미지를 보면 MainViewModel에서 AServerRepository 객체를 생성합니다 이것은 MainViewModel이 AServerRepository 클래스에 의존하다고 할 수 있습니다 이런 의존관계가 형성되면 문제가 발생하는대 만약 AServerRepository 가 아닌 BServerRepository 로 바꿔야한다면 객체 생성도 BServerRpository로 바꿔야 하고 MainViewModel 에 ..
안녕하세요! 오늘은 보일러 플레이트 코드란 무엇인가에 대해서 이야기 하려고 합니다 ㅎㅎ 보일러 플레이트 코드란 무엇인가? 최소한의 변경으로 여러곳에서 재사용되는 코드를 말합니다 이렇게만 이야기 하면 잘 이해가 안될수 있습니다 가장 대표적인 예로는 자바의 Getter, Setter가 대표적입니다 Model 객체에 Getter 와 Setter를 정의 해서 다른곳에서 Getter 와 Setter를 이용해서 값을 넣어주고나 값을 받아오는 경우가 보일러 플레이트 코드 입니다 ! 보일러 플레이트 코드의 장점은 무엇인가? 1. 앞서 이야기 한대로 어떤 변경이 필요한 경우 변경의 횟수를 최소화 시킬 수 있습니다 예를 들어 toString() 을 정의 한다면 각 필요한 부분에서 toString() 을 정의한다면 똑같은 ..