'2020/01/16'에 해당되는 글 2건

728x90

코틀린에서는 접근자와 설정자를 따로 만들어줄 필요가 없다.
자바에서는 private 접근제한자로 은닉화된 멤버 변수에 getter/setter 메소드를 사용해서 접근한다.
코틀린은 property가 getter/setter를 대체한다.

코틀린에서 속성(property)란
최상위 변수(함수나 클래스 외부에 정의된 변수)나 클래스의 멤버 변수로 선언하면 속성으로 간주된다.
클래스의 멤버 변수는 모두 private 제한자로 지정된다.
따라서 해당 클래스의 내부의 getter와 setter를 통해서만 속성을 참조할 수 있다.

 

package com.myapp.funcargs

fun main(){
    val a = Person("홍길동", 30)
    println(a)
    //println(a.toString())

    val b = a.copy("이순신")
    println(b)

    val c = b.copy(age=40)
    println(c)

    val(name, age) = Person("강감찬",35)
    println("성명 : $name, 나이 : $age")



    val obj = Pair<String, Int>("김좌진", 50)
    println(obj)
}

// 데이터는 보유하지만 아무것도 안하는 클래스
data class Person(val name: String, val age: Int)
// 파라미터 없는 기본 생성자가 필요한 경우에는
// data class Person(val name: String = "", val age: Int = 0)
// 모든 프로퍼티에 기본 값을 설정해 주면 된다.
// 기본 생성자에서 선언된 속성을 통해, 컴파일러가 자동으로 toString(), hashCode(), equals() 등을 생성한다.
// 명시적으로 정의해준 경우에는 컴파일러가 자동으로 생성하지 않는다.

 

실행결과

 

 

import android.os.Parcelable
import kotlinx.android.parcel.Parcelize
 
@Parcelize
data class Memo_AddEdit (
    var idx: String,
    var memo: String,
    var userID: String,
    var userNM: String,
): Parcelable
 
 
class MainActivity : AppCompatActivity() {
    private lateinit var mContext: Context
    private lateinit var mMemo_AddEdit: Memo_AddEdit
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        mContext = this@MainActivity
 
        initView()
    }
 
    private fun initView() {
        // 값을 할당함으로써 초기화가 된다.
       mMemo_AddEdit = Memo_AddEdit("0","",userid,userNM)
 
    }
}

 

'안드로이드 > Kotlin 문법' 카테고리의 다른 글

코틀린 null 안전과 예외  (0) 2020.05.05
코틀린 object  (0) 2020.01.19
코틀린 고차함수와 람다 그리고 확장함수  (0) 2020.01.14
코틀린 접근 제한자  (0) 2020.01.14
코틀린 패키지  (0) 2020.01.13
블로그 이미지

Link2Me

,

macOS 카탈리나

iOS/MACBOOK 2020. 1. 16. 13:42
728x90

맥OS 10.15 카탈리나는 100% 64bit 기반 운영체제다. 애플은 이전 버전인 맥OS ‘모하비(Mojave)’가 32bit를 지원하는 마지막 맥OS가 될 것이며, 카탈리나부터는 더이상 32bit 앱을 사용할 수 없다고 강조해왔다. 지난 4월 맥OS 업데이트에서는 32bit 앱 실행 시 업데이트 경고 창을 띄우는 기능을 추가하면서 32bit 지원 종료를 꾸준히 예고해왔다.

하지만 애플의 경고에도 불구하고 적지 않은 사용자들이 구형 프로그램을 계속 사용하고 있으며, 그로 인해 이번 카탈리나 업데이트 이후 앱 실행 불가 문제가 더욱 크게 불거지고 있다고 더 버지 등 외신들은 지적했다.

실행 불가 문제는 어도비의 ‘포토샵(Photoshop)’이나 ‘라이트룸(Lightroom)’같이 주로 사진과 영상 편집, 음악 작곡 및 편집 등 고가의 전문가용 애플리케이션에서 주로 발생하는 것으로 나타났다. 업그레이드 비용이 너무 비싸거나, 정기적으로 사용료를 내는 구독형 서비스가 부담스러운 사용자들이 추가 과금 없이 영구적으로 사용할 수 있는 구버전 애플리케이션을 사용해 왔는데, 카탈리나 업데이트로 피해를 보고 있다는 것.


블로그 이미지

Link2Me

,