Android App Track⛺-014

MunkiJeon·2024년 6월 21일

TIL

목록 보기
31/59
post-thumbnail

TIL (Today I Learned)

오늘 공부한거!

  • 과제 보완 하며 공부

    클래스는 틀을 만드는 것을 명심!!
    = 클래스는 객체를 만드는 설계도이기에 처음 기획할때부터 꼼꼼히 해둘것

    1. 프로그램에서 필요한 기능들 = 클래스 명칭및 역활
    2. 해당 클래스가 받고 가져야할 프로퍼티(속성)
    3. 해당 클래스가 가져야할 기능(메소드)
    • main 함수에서 init() => 프로그램이 돌기전 필요한 초기화할 사항들을 모아둠
      > 업데이트 유무 확인 및 변경사항 적용, 초기값 셋팅 등
    • .intOrNull(), .doubleToNull ... [변수.데이터타입OfNull]
      > 해당 변수가 지정된 데이터 타입이 아니면 Null을 보냄
    • 컬렉션으로 모아둔 글자 최대 길이로 padding 거는 법

    • NullSafety

    • Safe Call Operator (?.)

    • null 가능성이 있는 객체의 메소드나 속성에 안전하게 접근할 수 있다.
      객체가 null이 아니면 메소드나 속성에 접근하고, null이면 연산 전체가 null을 리턴한다
      var nullable: String? = null 
      val length: Int? = nullable?.length  // nullable이 null이면 length는 null
    • Elvis Operator (?:)

      왼쪽 피연산자가 null이 아니면 그 값을, null이면 오른쪽 값을 리턴한다.
      이를 통해 null 처리를 간결하게 할 수 있다.
      var nullable: String? = null 
      // nullable이 null이면 safeLength는 0
      val safeLength: Int = if(nullable != null) nullable.length else 0		// if-else
      val safeLength: Int = nullable?.length ?: 0  							// Elvis
    • Not-null Assertion Operator (!!)

      개발자 판단 아래 null이 아님을 확신하는 것.
      만약 변수가 null이면, 이 연산자를 사용했을 때 Null Pointer Exception이 발생한다.(런타임)
    • 정말 필요한 경우가 아니라면 잘 쓰지 않는 것이 좋을 것 같다.
      var nullable: String? = null
      val unsafeLength: Int = nullable!!.length // nullable이 null이면 예외 발생
      Safe Casts (as?)
      타입 캐스팅을 시도하되, 캐스팅이 불가능하면 null을 리턴한다.
      타입 캐스팅 시 예외 발생을 방지할 수 있다.
      *캐스팅 = 데이터 타입 형 변환
      //String 타입인 "nullable"을 Int 타인인 "aNumber"로 변경 하려는 코드
      var nullable: String? = null
      val aNumber: Int? = nullable as? Int // 캐스팅 실패 시 aNumber는 null
    • 시간 함수
      • now() = 현재시간

      • timer() =

Today Review

  • 생략
profile
공장자동화와 웹 개발을 핥아 먹다 앱 개발로 전향한 개발자의 키보드의 낡은 키캡⛑️

0개의 댓글