선원
-
[Java-32] java 예외처리 기본기Java 2021. 1. 12. 00:14
Java Exception 자바가 제공하는 계층구조 우리는 java 코드를 작성하면서, 또는 개발을 하면서 많은 에러를 봐왔을 것이다. 그 중 우리는 자바에서 어떤 에러들이 있고, 그리고 자바에서는 어떻게 에러를 관리하는지에 대해서 알아보도록 하자 왜 Error에 대해서 공부해야 하는가? 만약 자바 에러처리에 대해서 배우기전에, 왜 에러에 대해서 알아야 하는가? 또는 자신은 개발을 하면서 에러문을 일기 않는다. 라고 했을 때, 다음 동영상을 꼭 보도록 하자. 자바에서 코드를 작성하면서 문제가 될 때는 크ㅈ게 2가지로 나눌 수 있다. 일단 모든 예외의 계층 구조에 대해서 한눈에 보도록 하자 Exception 과 Error 의 다른 점 예외와 오류는 모드 Throwable 클래스 의 하위 클래스인데, 에러는..
-
[Java-12] 자바 배열Java 2020. 11. 20. 17:56
Java Array 바로 본론으로 들어가자, 1. 배열 (Array) 배열은 원시타입이나, 참조타입으로 구성된 특별한 객체 이다. 배열에 담기는 값들은 배열의 타입에 의해서 결정이 되고, 배열의 넘버링, 즉 사이즈는 0부터 시작되고, 배열에 들어가는 데이터로 사이즈가 결정이 됩니다. (배열에 들어가는 원소의 수가, 배열의 수가 된다.) 또한 배열을 생성할 때, 명시적으로 배열의 사이즈를 결정해줄 수 있습니다. 배열의 원소로 들어가는 타입은 대부분 자바에서 유효한 (valid 한) 타입으로 들어가고, 배열의 타입도 포함 가능합니다. 이 말은, Java 가 배열안에 배열을 만드는 ‘다차원’의 배열의 종류도 지원을 해준다는 뜻 입니다. 2. 배열 타입(Array Type) 배열 유형은 자바 클래스와 마찬가지로..
-
[Java-11]타입추론 varJava 2020. 11. 20. 17:49
Java var type-inference 자바에서도 타입추론을 지원한다는걸 오늘 처음 알았다. 그도 그럴만도 한게, 평소 jdk8만 사용을 하던지라, 타입추론이 가능한지 몰랐다. 결론은 자바 10 부터 type - inference(타입 추론)이 된다는 것이다. 1. 타입추론 이란? 타입추론은 말그대로 개발자가 변수의 타입을 명시적으로 적어주지 않고도, 컴파일러가 알아서 이 변수의 타입을 대입된 리터럴로 추론하는 것이다. 대표적인 타입추론 언어는 자바스크립트, 코틀린, 스위프트 등이 있다. 지금 까지 자바9 에서는 우리가 지역변수를 선언할 때, 명시적인 타입을 적고, 선언하였으며, 그 변수에다가 초기화를 시켜도 되고, 나중에 변수에다가 값을 집어 넣어도 무방하였다. 이런식으로 지역변수를 선언할 수 있었..
-
[Java-10]변수의 스코프&라이프타임Java 2020. 11. 20. 17:39
Variable's scope & life cycle 저번에는 타입 캐스팅과 프로모션에 대해서 알아보았다. 이번에는 변수의 스코프와 라이프타임에 대해서 알아보도록 하자. 1. 스코프 (Scope) 먼저 우리가 변수를 선언한다고 가정을 하자, 이 변수의 사용 범위는 어디까지일 까? 이 변수의 사용범위는 선언된 클래스의 중괄호 내에서 사용가능하다. 이런 범위를 우리가 ‘스코프’라고 부르는 것이다. 좀더 쉽게 생각해보자, 이해할 때 집합과 섞어서 생각해보면 된다. Class 안에 var1이란 변수가 선언 됬으면 var1의 스코프는 클래스 전체에서 놀 수 있다. 즉, foo() 메소드 안에서도 들어갈 수 있다는 얘기다. 하지만 var2는 어떨까? 저 변수의 스코프는 foo() 안에서의 초록색 칸에서만 사용할 수..
-
[Java-7] 자바 타입의 종류 & 리터럴Java 2020. 11. 17. 14:21
프리미티브 타입과 레퍼런스 타입에 대해서 알아보고, 저번에 컴파일 과정에서 나왔던 리터럴에 대해서 알아보도록 하자. 글이 뭔가 중구난방한 것 같은 느낌은 들지만 최대한 정리하도록 하겠다. 1. Primitive Type VS Refrence Type 잠시 책에서 정확히 프리미티브 타입과 레퍼런스 타입에 대해서 설명하였다. 레퍼런스 타입 & 객체는 기본적으로 프리미티브한 값에서 데이터를 가져오게 된다. 여덟개의 원시 타입은 ‘자바언어’에 의해 정의 되어있다. 절대 ‘개발자’가 새로운 원시타입을 정의할 수 없다. 레퍼런스 타입은, 개발자가 타입을 ‘정의’할 수 있으며, 그러므로 수없이 레퍼런스 타입이 많다. 출처 : *Java in a Nutshell 먼저, 기본적으로 저번에 말했던 JVM 안에서 어떻게 이..