Java 8

Java - 제네릭스의 기본 개념( Generics )

제네릭스란 무엇인가? 간단하게 말해서 Java에서 컴파일 시 컴파일러가 타입을 체크해 주는 기능이다. List a = new ArrayList(); // 1번 //List a = new ArrayList(); //2번 Java 1.5 버전 이후 버전(JDK 1.7버전 부터) 지원이 된다. 위처럼 List형태의 ArrayList의 객체를 생성할 때 1번처럼 지네릭스를 사용하지 않고 객체를 생성한다면 이런 raw type (파라미터가 없는 제네릭 타입)이며 타입을 지정하라는 경고가 뜬다. 타입 지정하지 않으면 문제점이 있는데 바로 여러 가지 타입이 짬뽕되어 있기 때문에 실행시 예외를 발생시키기 쉽다. 여러가지 타입이 있으면 나는 int를 꺼내다가 쓰고 싶은데, 실행하면 클래스 캐스트 예외가 발생합니다. 에러..

Java 2022.03.11

Java - 객체 개념과 클래스의 기본적인 모습

객체 지향 프로그래밍이 무엇인가? 객체 지향 프로그래밍의 의미를 알기 위해 우선 단어들을 뜯어보자. 먼저, 객체는 물리적으로 존재하거나, 추상적으로 생각할 수 있는 것 중에서 속성을 갖고 식별할 수 있는 것을 말한다. 예를들어 식별이 가능 한 것으로는 물리적인 것으로 자동차, 사람, 책 등이 있을 수 있다. 추상적으로는 학과, 주문, 배송지 등 실체는 없지만 식별이 가능한 것들이 있다. 객체는 속성 + 동작으로 이뤄져 있다. 예를 들어보면 사람은 이름, 키,몸무게 등의 속성이 있고, 걷거나 뛰고 웃고 우는 등의 동작을 할 수 있다. 자동차는 제조사, 모델명, 색상 등의 속성이 있고, 가속 감속 기어변속 등의 동작을 할 수 있다. Java에서는 속성을 필드(field)라고 하고, 동작을 메소드(method..

Java 2022.03.05

Java - java.lang 패키지

java.lang 패키지란? 자바의 기본적인 클래스를 담고 있는 패키지이다. 기본적인 클래스를 담고 있기 때문에 String , System 클래스를 import 없이 사용할 수 있다. 위처럼 java.lang 패키지에는 많은 클래스가 있다. 사용법이나 어떨 때 쓰는지 보려면 API 문서를 참조하는게 좋다. (영어라서 울렁증이 생겨도 하는 습관을 들이면 좋다.) 간략하게 살펴보면 아래와 같다. 클래스 용도 Object 자바 클래스의 최상위 클래스 System 입력장치(키보드 등)로부터 입력/출력 할 때 사용. JVM을 종료할 때 사용 등 Class Class를 메모리로 로딩할 때 사용. String 문자열을 저장/이용할 때 사용 Wrapper | Byte, Short, Character, Integer,..

Java 2022.02.28

Java - 예외 및 예외 처리 ( Exception )

예외란 ?? 예외는 사용자의 조작이 이상하거나, 개발자의 코딩이 잘못되었을 때 발생하는 프로그램 오류이다. 예외(Exception) vs 에러(Error) https://ko.gadget-info.com/difference-between-error Java에서 오류와 예외의 차이점 오류와 예외의 중요한 차이점은 시스템 리소스 부족으로 인해 오류가 발생하며 코드로 인해 예외가 발생한다는 것입니다. ko.gadget-info.com 여기 잘 설명되어 있으니, 이걸 읽어보면 좋을 것 같다. 요약하자면 에러는 시스템 자원이 부족해서 발생하며 복구 불가함. 예외는 코드가 잘못되어서 발생하며 예외처리를 통해 복구 가능함. 자바에서는 예외가 발생할 가능성이 높은 코드를 컴파일 시 예외처리 유무를 확인한다. 예외처리가..

Java 2022.02.28

Java 제어문 - 반복문 ( for , while , do-while 문 )

전 포스트에서 제어문의 정의와 조건문을 알아봤는데, 제어문의 정의가 궁금하면 앞 포스트를 보면 좋을 것 같다. https://beetr.tistory.com/36 Java 제어문 - 조건문 ( if / switch 문 ) 제어문의 뜻 : 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것. 제어문의 종류 조건문 : 조건식에 따라서 다른 실행문을 실행하기 위해서 사용. 반복문 : 어떤 작업을 반복적으 beetr.tistory.com 반복문을 다시 설명하자면 말 그대로 어떤 작업을 반복하기 위해서 사용하며, 특정 조건을 충족하면 그만두고 그전까지는 계속 반복한다는 특징이 있다. 반복문을 사용하는 이유 예를 들어 1부터 100까지 더해 출력하는 코드가 있다고 가정해보자. public class L..

Java 2022.02.12

Java 제어문 - 조건문 ( if / switch 문 )

제어문의 뜻 : 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것. 제어문의 종류 조건문 : 조건식에 따라서 다른 실행문을 실행하기 위해서 사용. 반복문 : 어떤 작업을 반복적으로 실행되도록 하는 구문. 조건문 if - else문 아래는 조건문의 기초적인 사용을 적어 놓은 것이다. if의 괄호 "( )" 안의 값이 참일 경우 "참임"이라는 글자가 Eclipse의 Console에 출력한다. 반대로 값이 참이 아닐 경우 else 문장을 실행해 "거짓임" 이라는 글자를 출력하게 된다. ** if 만 있어도 됨. package test; public class ConditionEx { public static void main(String args[]) { boolean a = true; if(a..

Java 2022.02.11

JVM의 개념 - 자바 동작 과정 아주 기초!

본 글 외 올리는 글들은 자바 공부한 것을 개인적으로 기초부터 개념을 재정립하기 위해 작성하는 것으로, 구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은 지적해주세요. https://beetr.tistory.com/29 프로그래밍 언어 & 자바 ( Java )의 탄생 및 소개 본 글 외 앞으로의 글들은 자바 공부한 것을 기초부터 개념을 재정립하기 위해 작성하는 것으로, 구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은 beetr.tistory.com 이전의 글에서도 말 했듯이 Java 언어로 만든 소스 파일( 코드가 적힌 파일 )은 .java 형식의 파일이고 , .class 파일(바이트 코드 파일)을 새로 만들어서 .c..

Java 2022.02.03

프로그래밍 언어 & 자바 ( Java )의 탄생 및 소개

본 글 외 앞으로의 글들은 자바 공부한 것을 기초부터 개념을 재정립하기 위해 작성하는 것으로, 구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은 지적해주세요. 프로그래밍 언어 더보기 프로그래밍 언어란 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어이다. 여기엔 고급 언어와 저급 언어가 있다. - 위키 백과 간단하게 설명하자면 고급 언어는 사람이 사용하는 언어에 가깝고 저급 언어는 컴퓨터가 사용하는 언어에 가깝다. 컴퓨터는 0과 1로 이루어진 이진법(11011처럼 0과 1로만 이루어짐)의 코드를 사용한다. 만약에 아는 사람이 당신에게 이진법으로 코딩을 하라고 하면 그 자리에서 도망을... 컴퓨터는 사람의 언어를 이해할 수 없고, 사람은 컴퓨터의 언어를 ..

Java 2022.02.03