프로그래밍 48

[ Kotlin ] 코틀린 val , var 이란? 그리고 차이점

코틀린은 자바와 다르게 변수 선언 시 val 또는 var을 사용한다. [JAVA Code] int num = 2; String str = "java"; 위 코드와 같이 자바는 "[타입] 변수명 = 할당 할 값" 이런식의 문법이다. [Kotlin Code] val num1 = 2 var num2 = 3 코틀린 코드에서는 자바와 다르게 "[val or var] 변수명 = 할당 할 값" 이런식의 문법이다. 그런데 val과 var의 차이점은 무엇일까? val: 한번 성언하면 값을 변경 할 수 없다. var: 한번 선언한 이후 값을 변경 할 수 있다. [예시 Code] // 변수 선언 val num1 = 1 var num2 = 2 // 값 변경 num1 = 3 // 에러 num2 = 4 위 코드를 예시로 들었을 ..

[ Kotlin ] 코틀린(Kotlin) lateinit과 by lazy

lateinit 과 by lazy 변수를 생성할 때, 선언만 해두거나 아니면 나중에 값을 할 당 하기 위해 변수의 값을 null로 할당할 때가 있다. 코틀린은 JAVA와 다르게 "String a = null"을 쓰지 못한다. 그래서 아래와 같이 null값을 할당할 수 있다. [Code] var a:String ?= null 하지만 문제가 발생할 수 있다. - 변수의 값이 절대 null이 돼서는 안 되는 경우 - 값이 한번 정해지면 바뀔 수 없는 상수 일 경우 이 문제를 해결하기 위해 제공되는 문법이 lateinit, 그리고 by lazy이다. lateinit 이란? 일단 변수만 선언하고 초기값의 할당은 나중에 할 수 있도록 해줌. [Code] lateinit var text: String 사용 규칙 va..

[ Kotlin ] 코틀린(Kotlin)에서 Null 을 안전하게 처리하는 방법

코틀린 Null 안전성이란? 2021.10.25 - [프로그래밍/Kotlin] - [ Kotlin ] 코틀린 Null 안전성이란? (Null Safety) [ Kotlin ] 코틀린 Null 안전성이란? (Null Safety) 코틀린 Null 안전성이란? 자바와 다르게 코틀린은 Nullable과 Non-Null 타입으로 프로퍼티를 선언할 수 있다! 즉, 코틀린은 기본적으로 값이 null 아니고 NotNull이다. 🙄❔❓왜 기본적으로 값이 Null dev-cini.tistory.com 위 링크를 타고 들어가면 코틀린 NUll 안전성에 대해 알 수 있다. 코틀린(Kotlin)에서 Null을 안전하게 처리하는 방법 6가지 1. if-else 문으로 Null 인지 처리 var nullable:String ?=..

[ Kotlin ] 코틀린 Null 안전성이란? (Null Safety)

코틀린 Null 안전성이란? 자바와 다르게 코틀린은 Nullable과 Non-Null 타입으로 프로퍼티를 선언할 수 있다! 즉, 코틀린은 기본적으로 값이 null 아니고 NotNull이다. 🙄❔❓왜 기본적으로 값이 Null이 아닐까? Java를 포함한 많은 프로그래밍 언어에서 가장 많이 발생하는 오류는 NPE(NullPointerException)이다. 코틀린은 코드에서 NPE(NullPointerException)을 제거하기 위함이라고 한다. null참조 코드의 위험성을 없애기 위해라고 보면 될 것 같다. 하지만 기본적으로 값이 null을 가지는 프로퍼티를 선언할 수 없다는 것이지 null값을 허용하는Nullable 타입으로 프로퍼티를 선언할 수 있다. ❗Nullable(널이 될 수 있는)과 Non-N..

[React] 가상돔 Virtual DOM이란?

가상 돔(Virtual DOM) 이란? Virtual DOM을 사용하면 실제 DOM에 접근하여 조작하는 대신, 이를 추상화한 자바스크립트 객체를 구성하여 사용 ✅ 실제 DOM의 가벼운 사본 DOM의 상태를 메모리에 저장하고, 변경 전과 변경 후의 상태를 비교한 뒤 최소한의 내용만 반영 하는 기능 → 성능 향상 가상 DOM은 DOM의 상태를 메모리 위에 계속 올려두고, DOM에 변경이 있을 경우 해당 변경을 반영함 리액트가 가상돔을 반영하는 절차 EX) 특정 페이지에서 데이터가 변했다고 가정 했을 경우. - 리액트를 이용해 돔을 업데이트 시키는 절차 1. 데이터가 업데이트 되면, 전체 UI를 Virtual DOM에 리렌더링함 2. 이전 Virtual DOM에 있던 내용과 현재의 내용을 비교함 (가상 돔 끼..

[React] DOM이란? 가상 돔 (Virtual DOM )이 나오게 된 이유

돔(DOM)이란? DOM(Document Object Model)은 웹 페이지를 이루는 태그들을 자바스크립트가 이용할 수 있게끔 브라우저가 트리구조로 만든 객체 모델을 의미한다. DOM(Document Object Model)을 영어 뜻풀이 그대로 하자면 문서 객체 모델을 의미한다. 문서 객체란 html, head, body와 같은 태그들을 javascript가 이용할 수 있는 (메모리에 보관할 수 있는) 객체를 의미한다. DOM은 HTML과 스크립팅 언어(Javascript)를 서로 이어주는 역할 ❓❔ 자바스크립트는 어떻게 HTML 태그들을 조종할 수 있는 걸까? - Document라는 전역 객체를 통해 접근 - window라는 객체는 document객체의 상위에 위치 🙄❕❓ 가상 돔 (Virtual ..

[React] 리액트의 컴포넌트란?

리액트의 컴포넌트 리액트에서 컴포넌트는 앱을 이루는 최소한의 단위 각 부분을 재사용 가능한 조각으로 UI를 나눈 것과 같음. 예시) 사이트를 구성하는 예를 들어보겠습니다. 기본적인 한 사이트의 홈 화면의 구조는 아래 그림과 같습니다. 컴포넌트란 UI 또는 기능을 단위별로 나눈(캡슐화한) 단위를 말합니다. 헤더, 바디, 푸터, 모두 컴포넌트의 조각이라고 말합니다. 이 조각들을 재사용할 수 있고, 이 조각들을 모아 홈 화면을 만듭니다. 헤더, 바디, 푸터의 각각의 컴포넌트를 홈 화면뿐 아니라 로그인 화면, 회원가입 화면 등등 필요 한 부분에 가져다 쓸 수 있음을 말합니다. 결론 컴포넌트는 독립적이며, 재사용 가능하게 만든 부품 조각들을 말합니다. 리액트로 만들어진 사이트 화면들은 컴포넌트의 조합입니다.

[React] Props와 State 차이점

Props와 State React에서 구성 요소가 데이터를 받거나 처리하고 보내기 위해 사용됨. Props 불변의 데이터 부모로부터 전달되는 변경 불가 State (상태) 가변 데이터 구성 요소에 의해 유지 변경 가능 Props와 State 차이점 State는 내부 (컴포넌트)에서 생성하고 활동하고, 데이터를 변경할 수 있음. Props는 외부(부모 컴포넌트)에서 상속 받는 데이터이며, 데이터를 변경할 수 없음. 컴포넌트의 개념을 모르시면 클릭~!! https://dev-cini.tistory.com/9?category=890664 [React] 리액트의 컴포넌트란? 리액트의 컴포넌트 리액트에서 컴포넌트는 앱을 이루는 최소한의 단위 각 부분을 재사용 가능한 조각으로 UI를 나눈 것과 같음. 예시) 사이트..

728x90