자바스크립트를 사용할 때는 딱히 변수의 타입을 고려하지 않고 코드를 작성해도 괜찮습니다. 그러나 개발자가 타입을 신경쓰지 않을 뿐이지. 실제로는 타입이 존재합니다. 타입은 타입이 결정되는 시점에 따라서 정적 타입과 동적 타입으로 분류됩니다. 정적 타입(Static Type) 정적 타입에서는 모든 변수의 타입이 컴파일 시점에 결정됩니다. 자바에서 흔히 String str = "Hi" 라고 선언해주듯이. 개발할때 대놓고 타입을 명시하는 애들이 정적 타입 언어에 속합니다. 타입스크립트에서도 정적 타입을 제공해주고 있구요. 타입을 명시해줘야 된다는 귀찮음이 있지만 컴파일 시점에 타입 에러를 발견할 수 있기 때문에 프로그램의 안정성을 보장할 수 있어요. 정적 타입의 장점은 다음과 같습니다. 타입 안정성 : 변수의..
변수
오늘도 자바 라이브 스터디 2주차 주제에 대해서 포스팅합니다. 배열은 같은 자료형의 데이터를 연속된 공간(메모리)에 저장하기 위한 자료구조입니다. 같은 자료형 변수 묶음을 하나로 다룰 수 있게 됩니다. 이 배열을 어떻게 선언하는지에 대해서 다뤄보겠습니다. 1차 배열 []를 이용해서 이 자료는 배열이다~ 라고 명시해줄 수 있습니다. int a[]; int []a; 정확히는 위의 코드처럼만 사용하시면 단순하게 배열 선언만 한 것이라서 사용은 못하구요. int a[] = new int[5]; 이 코드는 배열 선언과 생성을 동시에 해준 코드입니다. 선언과 생성을 따로따로 해주셔도 되지만 저는 합쳐서 하는 편입니다. 이런 식으로 사용해주셔야 int형 자료 5(대신 사용하고 싶은 사이즈만큼 조절 가능) 개가 들어갈..
용어 정의 scope(스코프)와 lifetime(라이프타임) 용어 자체에 대한 설명이 필요하겠네요. 변수의 스코프란 해당 변수를 사용 가능한 범위를 말합니다. 저번에 다룬 값의 범위가 아닌 영역의 범위라고 생각해주세요. 저는 스코프랑 라이프타임이 비슷한 용어라고 생각했는데, 조금 다르더라구요. 라이프타임의 경우 메모리에서 변수가 언제까지 살아있는가에 대한 것을 다룹니다. 변수는 어디에서 어떻게 선언하냐에 따라 스코프가 3가지로 나뉘는데 이에 대해서 알아봅시다. 사실 저는 이전에 변수에 관한 포스팅을 하면서 변수 세 타입에 대해서 다룬 적이 있습니다. 그래서 이번에는 스코프와 라이프타임 위주로만 정리해보겠습니다. 2021.03.10 - [Java] - [java] 변수 Instance variable 클래..
github.com/whiteship/live-study/issues/2 2주차 과제: 자바 데이터 타입, 변수 그리고 배열 · Issue #2 · whiteship/live-study 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 github.com 오늘은 2주차 과제의 '프리미티브 타입 종류와 값의 범위 그리고 기본 값' 주제를 다뤄보겠습니다. 자바 공부를 하면서 프리미티브라는 단어를 접한 적이 없는데요. 'primitive' 로 추정이 되며 해당 단어는 '원시의'라는 뜻을 가지고 있습니다. 자바 변수들을 크게 원시 타입과 레퍼런스 타입으로 나눌 수 있는데 오늘..
자바를 제대로 활용하고 있는지 의문이 들어서 복습을 하고 있습니다. 복습하는 도중에 새롭게 알게 된 사실등을 정리하므로 해당 포스팅에서는 많은 내용을 다루지 않습니다. 변수란? 하나의 값을 저장하기 위한 메모리 공간에 이름 붙인 것입니다. int age = 5; 위의 예제에서는 age가 변수가 됩니다. 메모리에서 int형에 해당하는 byte만큼 자리를 배정하고 거기에 age라는 이름을 붙입니다. 그 공간에 5라는 값을 담아주면 되겠죠. 참고로 int는 변수의 타입이고 5라는 상수 값은 리터럴이라고 부릅니다. 자바의 상수를 int age 앞에 final이라는 키워드를 붙이면 상수가 되며 값을 수정할 수 없는 점 유의바랍니다. 선언 위치에 따른 변수 클래스 변수, 인스턴스 변수, 지역 변수 이 세 종류는 선..