본문 바로가기

안드로이드

(8)
MVP MVC와 유사한 형태를 가지지만, 분명한 차이점이 있다. MVP = Model + View + Presenter Model MVC와 Model과 동일한 개념. 비지니스 모델 개념과 유사하다. 다음의 3가지 개념이 Model 의 핵심이다.(데이터, 상태, 비지니스로직) 만약 당신이 예약 플랫폼 앱을 개발한다면, 예약이 제일 중요한 Model 이 될것이다. 이 예약에는 예약시간 예약하는 사람수 선주문 내역 등등.. 이러한 데이터들을 포함 할것이다. 위의 중 ‘선주문 내역’은 할수도(true), 안할수도(false) 있다. = 상태를 가지고 있다. 위의 중 ‘선주문 내역’은 할지 안할지 물어본다.(비지니스로직) View MVC에서와 마찬가지로 UI 요소를 담당한다. 하지만 이제 Activity와 Fragmen..
MVC 초기의 안드로이드 개발은 한 파일에 모든 코드가 작성 되었다. (UI 코드는 .xml) 시간이 지나면서 비지니스의 규모는 성장하고 그에 따라 사용자들이 요구하는 기능도 많아지기 시작했다. 해당 비지니스 요구사항을 만족하는 기능을 만들기 위해 개발자들은 열심히 일하였고, 1개의 파일에 모든 코드가 작성되었다. 그로인해 유지보수하기가 굉장히 힘들어지기 시작했다. 위의 이유로 코드 구조화, 분업화, 유지보수에 유연하게 대응할수 있는 개념인 디자인 패턴이 만들어 지게 되었다. 디자인 패턴의 발전 순서 MVC ⇒ MVP ⇒ MVVM 모바일 개발자라면, “디자인패턴은 뭐가 아쉬워서 이렇게 발전되어 왔는가?” 에 대한 고찰이 필요하며, 몇년전에 공부하고 기록으로 남겨야지 했는데, 이제야 적는다. MVC = Model..
6. 흐름제어와 논리연산자 반복문을 사용하면서 중간에 그만하고 나와야 될때도 있고, 나올때 값을 반환해야 될때도 있고, 여러 상황들이 생길수 있다. 1. 그래서 반복문 내에서 코드의 흐름을 제어하는 키워드가 있는데 Break = 반복문 내의 구문이 실행되는 중간에 즉시 반복문 종료하고 넘어감 Continue = 다음 반복문으로 바로 넘어감. fun main() { for(i in 1..10){ if(i==3) break print(i) } } if(i==3) break : 일때 다음코드를 실행시키지 않고 종료된다. 1 2 fun main() { for(i in 1..10){ if(i==3) continue print(i) } } if(i==3) continue : 코드를 건너 뛴다. 1 2 4 5 6 7 8 9 10 2. labe..
5. 반복문과 증감연산자 - 반복문의 종류 1. 조건형 반복문 [조건이 참인 경우 반복을 유지] = while , doWhile 2. 범위형 반복문 [반복의 범위를 정해 반복을 수행 ] = for 응? 가만보니 a++ 은 무엇인가???? - 증감연산자 1. 증감연산자 : ++a (전위 연산자) , a++ (후위 연산자) 2. 감소연산자 : --a (전위 연산자) , a-- (후위 연산자) 앞과 뒤에 붙이는 경우 차이 앞 = 전위 연산자 => 이미 값을 바로 증가시켜서 연산처리 앞 = 후위 연산자 => 연산처리후 그다음 구문 부터 값을 증가 위에서 while 문에 대해서 작성해 보았다. do ~ while 문에 대해 이제 알아보자. 1. 최초 한번은 조건없이 do 에서 구문을 실행 한후, 2. 이후는 while로 조건을 체크한 후..
4. 조건문과 비교연산자 조건문... 말그대로 조건문..... 조건에 따라 조건에 부합하면 아래의 실행내용 코드를 실행한다... 보통 조건문은 아래처럼 생겼따. if(조건){ 실행내용 } 조건의 내용은 보통 비교연산을 통해 검증한다. a = b : b가 a보다 작거나 같다. a != b : a가 b와 다르다. a == b : a가 b와 동일하다. a is Int 좌측 변수가 우측 자료형에 호환되는지 체크하고, 자동으로 한번에 자료형까지 변환 시켜줌. - 다중 조건문 When 1개의 변수를 여러개의 값과 비교 Any = 어떤 자료형이든 상관없는 최상위 자료형 (int, String, Long, Float … 등등 상관없다.) 여러개의 조건이 맞아도, 먼저 부합하..
3. 형변환 과 배열 - 형변환 형변환 = Type Casting(타입 캐스팅) : 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는 기능 위의 자료형은 숫자형은 숫자형 끼리, 문자형은 문자형 끼리 형변환 가능하다. 형변환은 어떻게 하냐면? 아래 처럼 한다. 할당시에 반드시 Int 형 변수의 toLong() 을 호출하여 할당 var a : Int = 54321 var b : Long = a.toLong() 위와 같이 할당하는 것을 => 명시적 형변환 다른 언어의 경우, 언어가 자동으로 인식하여 암시적 형변환 이라는 것을 사용하지만, 코틀린에서는 개발자가 의도치 않은 형변환 오류를 막기위해 개발자가 직접 형변환 코드를 작성하게 끔 한다. * 형 변환시 호환이 가능한지 여부를 체크하여 변환 여부를 확인할수 있는 방..
2. Kotlin 의 기본자료형(primitive type) 코틀린의 기본자료형은 자바와 거의 동일하다. 숫자는 - 정수형 Byte 8bit Short 16bit Int 32bit Long 64bit - 실수형 Float 32bit Double 64bit 이 있다. 정수형의 리터럴 (리터럴 : 코드내에 값을 표기 하는것) : 10진수 16진수 2진수 8진수(지원안함) 정수형 리터럴 작성 예시 var intValue : Int = 1234 var LongValue : Long = 1234L var intValueByHex : Int = 0x1af // 16진수 var intValueByBin : Int = 0b10110110 // 2진수 실수의 경우 기본 = Double 형 실수형 리터럴 작성 예시 var doubleValue:Double = 123.5 var do..
1. Kotlin 의 변수와 자료형 앞으로 간단하게 라도 1개씩 꾸준히 블로그에 글 올리려고함. 물론 빡세게 공부해서 올려야 하면 시일이 조금 걸릴수도 있음. 양해해주셈. Kotlin 의 변수선언법에는 2가지가 존재함. - Kotlin 의 변수 선언법 var 일반적으로 통용되는 변수. 언제든 읽기 쓰기가 가능함. val 선언시에만 초기화 가능. 중간에 값을 변경할수 없음. (Immutable 하고 , 자바의 final 역할) runtime시(동작중시) 변경되지 말아야할 값은 안전하게 val 로 선언 - 변수작성 패턴 변수형 변수명: 자료형 = 값 ex) var component : String = "컴포넌트" ex) val name : String = "손흥민" - 변수 선언 위치에 따라 불려지는 명칭 클래스에 내에 선언된 변수 = Pro..