💡 함수와 메서드의 차이를 알고, 프로퍼티와 필드에 대해서도 학습하였습니다.함수 vs 메서드메서드와 함수는 프로그래밍 관점에서 매우 유사한 개념이지만, 사용 맥락에 따라 차이가 있습니다.함수(function)코틀린은 함수를 fun 키워드를 활용해서 시작합니다.이를 활용해서 top-level 함수, 멤버 함수, 지역함수 등을 생성할 수 있습니다.아래와 같이 이름이 없는 익명함수로 활용도 가능합니다.val anonymousFunction = fun(x: Int, y: Int): Int { return x + y}메서드(method)메서드는 클래스와 연결된 함수, 객체에 속한 함수를 의미합니다.멤버 함수를 메서드라고 하며, 메서드 호출을 위해서 클래스 인스턴스가 반드시 필요합니다.확장 함수도 메서드인가..
💡 객체 지향 프로그래밍의 5가지 핵심 원칙인 SOLID에 대하여 학습하였습니다.객체지향 프로그래밍 5 설계 원칙 (SOLID)SOLID란 객체 지향 프로그래밍을 하면서 지켜야하는 5대 원칙으로 SRP, OCP, LSP, DIP, ISP의 앞글자를 따서 만들었습니다.SOLID 원칙을 철저히 지키면서 시간이 지나도 변경에 용이하고, 유지보수와 확장성이 쉬운 소프트웨어를 개발하는 것이 중요합니다!SRP(Single Responsibility Principle): 단일 책임 원칙OCP(Open Closed Principle): 개방 폐쇄 원칙LSP(Listov Substitution Principle): 리스코프 치환 원칙ISP(Interface Segregation Principle): 인터페이스 분리 원..
💡 객체지향 & 소프트웨어에서 중요한 응집도와 결합도에 대하여 학습하였습니다.소프트웨어 모듈 독립성소프트웨어에서 크고 복잡한 문제가 발생했을 때, 문제를 작은 부분으로 쪼개어서 하나씩 풀어나가야 합니다.이런 경우 큰 문제를 작은 부분으로 쪼개어 해결하는 것을 모듈화라고 하며, 소프트웨어를 각 기능별로 나누어진 소스 단위를 뜻합니다.독립적으로 컴파일 가능한 프로그램 혹은 하나의 함수나 클래스도 모듈이 될 수 있습니다.좋은 소프트웨어 일수록 모듈의 독립성이 높다라고 표현할 수 있습니다.좋은 모듈화는 목적에 맞는 기능만으로 모듈을 나누게 됩니다.각각의 모듈은 주어진 기능만을 독립적으로 수행하기 때문에 재사용성이 높고 코드의 이해와 수정이 용이합니다.해당 모듈을 수정하더라도 다른 모듈에 끼치는 영항이 적으며,..
💡 코틀린에서는 간단하고, 다양하게 생성자를 정의할 수 있습니다. 생성자에 대하여 학습하였습니다. 주생성자 (Primary Constructor)class Movie(val name: String, val time: String)위와 같이 클래스 이름 옆에 괄호로 둘러싸인 코드를 주 생성자라고 합니다.생성자 파라미터를 지정하고, 그 파라미터에 의해 초기화되는 프로퍼티를 정의하는 목적에 쓰입니다.생성자 파라미터 : 클래스의 생성자를 호출할 때 전달되는 값객체가 생성될 때 필요한 초기 설정 값을 제공class Movie(name: String)프로퍼티 : 클래스에 정의된 변수로, 클래스의 속성을 나타냄객체의 상태를 나타내며, 객체가 존재하는 동안 값을 유지하고 사용 가능class Movie(val name..
💡 Kotlin을 주 언어로 활용하면서, 특징과 사용하는 이유에 대하여 한 번 학습하고 넘어가는 것이 필요할 것 같았습니다.Kotlin자바를 만든 회사인 IntelliJ IDEA의 개발사 JetBrains에서 공개한 언어로, 자바와 100퍼센트 호환되며 자바보다 더 간결하고 많은 기능을 추가한 언어입니다.또한 절차 지향적인 문법 위주의 코드에서 벗어나, 사람과 가까운 객체지향 언어 중 더욱 사람의 언어와 비슷하게 코드를 구사하도록 개발된 언어입니다.Kotlin의 큰 장점가독성과 접근성객체지향 언어이면서 변수 유형 유추 및 손쉬운 캡슐화직관적인 기능을 갖는 함수를 탑재생산성을 높일 수 있는 언어개발 언어 트렌드코드의 재사용을 통해 반복적인 코드를 최소화유연하고 빠른 수정유지 보수 편리한 언어 형식자바와 ..
Kotlin Extensionhttps://kotlinlang.org/docs/extensions.html Extensions | Kotlin kotlinlang.orgKotlin은 클래스에서 상속하거나 새로운 디자인 패턴을 사용하지 않고도 새로운 기능으로 클래스나 인터페이스를 확장할 수 있는 기능을 제공합니다.이는 Extensions 라는 특수 선언을 통해 수행됩니다.수정할 수 없는 타사 라이브러리의 클래스 또는 인터페이스에 대한 새 함수를 작성할 수 있으며,함수를 마치 원래 클래스의 메서드인 것처럼 일반적인 방법으로 호출할 수 있습니다.이를 extension function이라고 하며, 기존 클래스에 대한 새 속성을 정의할 수 있는 extension properties도 있습니다. extension ..