분류 전체보기
Class와 Object
Class와 Object
2021.06.29Class Object를 정의한 것 class는 위의 정의 그대로 "Object"를 정의한 것 이다. 실제로 Class는 Object의 정의를 바탕으로 Object를 생성하는 데 사용되며, Class를 통해서 생성된 각 객체들은 Class가 담고 있는 Object의 정의를 그대로 담게 된다. Object 실존하는 것, 사물 또는 개념 Object는 우리말로 "객체"라고 표현하며 실제로 존재하는 것을 가리켜 말한다. Object는 사물과 같이 실제로 그 형태가 존재하는 "유형의 객체"일 수 있고, 개념과 같이 형태가 존재하지는 않지만 실제로 존재하는 "무형의 객체"일 수도 있다. 프로그래밍에서 Object는 class에 정의된 내용대로 메모리에 생성된 것을 가리켜 말한다. Class와 Object의 관계?..
OOP(Object Oriented Programming language) 개념
OOP(Object Oriented Programming language) 개념
2021.06.29컴퓨터 공학을 공부한다면 어렵지 않게 들을 수 있는 이 OOP라는 용어는 우리말로 "객체지향언어"로서 java가 가지는 핵심적인 기능 중 하나이다. java의 모든 내용들을 잘 이해하기 위해서는 이 OOP에 대한 이해가 대단히 중요하기 때문에 OOP의 개념에 대해 공부해야할 가치는 충분하다. OOP는 다음과 같은 아이디어에서 시작 되었다. 우리가 있는 실세계를 모델링하여 이와 굉장히 유사한 가상세계를 컴퓨터 속에서 구현할 수 없을까? 그리고 이 과정에서 우리가 위치한 실세계를 다음과 같이 표현하였다. 우리가 위치한 실세계는 Object로 이뤄져 있으며, 세계에서 발생하는 모든 이벤트는 이 Object 간의 상호작용으로 발생한다. OOP가 가지는 장점은 다음과 같다. 1. 높은 코드 재사용성 2. 용이한 ..
Java 에 대한 기본적인 정리
Java 에 대한 기본적인 정리
2021.06.29Java 의 장점 1. 운영체제에 독립적 2. 객체지향 언어 3. 비교적 낮은 입문장벽 4. Garbage Collector 5. 네트워크와 분산처리 6. 멀티스레드 지원 7. Dynamic Loading 지원 운영체제에 독립적 java는 일종의 애뮬레이터인 JVM(= Java Virtual Machine)을 사용한다. 그렇기 때문에 java로 작성된 코드는 운영체제나 하드웨어가 아닌 JVM과만 통신이 이뤄지기 때문에 java 코드 관점에서는 운영체제나 하드웨어에 대한 차이 없이 동일한 java 코드를 사용할 수 있다. 운영체제가 해당 내용을 이해할 수 있도록 애플리케이션의 명령들을 변환하는 것은 JVM이 수행한다. 그렇기 때문에 java로 작성된 프로그램 자체는 운영체제에 독립적이지만, JVM은 운영체..
Optional
Optional
2021.06.28Optional이 지향하는 핵심적인 내용은 바로 "null"을 직접 다루지 말고 Optional 객체에 넣어서 관리하자! 라는 부분이다. 즉, null을 직접 다루는 것이 아니라 Optional Object라는 중간다리를 통해 관리함으로서 NPE(= NullPointerException)의 발생가능성을 최대한 줄이겠다는 목적을 가지고 탄생한 것이라고 볼 수 있다. 여기서 NPE를 최대한 피하려고 하는 구체적인 이유는 개발하는 프로그램의 size가 커진 경우, NPE의 발생은 디버깅이 어렵기 때문이다. Optional Object를 통해서 Optional null value handling을 위해서 java 8부터 새롭게 추가된 개념 java에서는 null value 때문에 상당히 많은 수의 NPE(= N..
enum
enum
2021.06.28enum 서로 관련성 있는 상수들을 모아서 심볼릭한 명칭의 집합으로 정의한 것 별도의 파일로 분리해서, 클래스 내부에, 클래스 외부에 정의하여 사용하는 것이 모두 가능함 그냥 열거하여 상수의 이름들을 적어내는 경우 → 열거된 순서대로 0부터 1씩 증가하는 형태로 값을 가지게 됨. ⇒ 이 때 ';'을 붙이지 않는 것이 포인트 출력하는 경우? → 할당된 상수 값이 아닌 심볼릭하게 지정된 상수명이 출력됨 함께 사용할 수 있는 관련 method 들도 존재함 - class의 개념이라고 볼 수 있음 values() - 열거된 모든 원소들을 배열에 담아서 순서대로 반환 ordinal() - 열거된 순서를 정수값으로 반환 (0부터 시작함) valueOf() - 매개변수로 주어진 String과 일치하는 이름을 가진 원소..
Map & HashMap의 차이점
Map & HashMap의 차이점
2021.06.28일반적으로 Java Code에서 HashMap을 선언해서 사용한다고 할 때, 아래와 같이 선언하여 사용할 수 있으며 그 둘은 모두 동일하게 HashMap을 사용할 수 있도록 이를 선언하는 코드에 해당한다. HashMap map = new HashMap(); Map map = new HashMap(); 그렇다면 여기서 가질 수 있는 궁금증은 다음과 같다. HashMap으로 받을 때와 그냥 Map으로 받을 때와 무슨 차이가 있는 것일까? 위의 코드에서 두번째 라인 코드에서 사용된 Map은 "HashMap이 구현하는 인터페이스"의 개념으로 이해하면 된다. 그렇기 때문에 실질적으로 위의 두 코드 모두 정상적으로 HashMap을 선언하여 사용할 수 있고 그 기능상에서 차이를 보이지 않는다. 하지만, 위의 두 코드..
LocalDateTime
LocalDateTime
2021.06.28LocalDateTime은 java에서 날짜와 시간에 대한 정보를 다룰 때 사용할 수 있는 class로서 java8 부터 지원되기 시작한 API에 해당한다. 다음과 같은 코드들을 작성함으로서 아주 편리하게 날짜와 시간에 대한 정보를 java code 상에서 다룰 수 있게 된다. LocalDateTime currentDateTime = LocalDateTime.now(); 위와 같이 LocalDateTime Class가 가지는 .now() method를 사용하면 해당 코드를 실행하는 로컬 컴퓨터의 현재 날짜와 시간정보를 로딩하여 LocalDateTime Object에 저장한다. 아래와 같은 코드를 실행해보면 현재날짜와 시간에 대한 정보를 간단하게 다룰 수 있게 된다. import java.time.*; p..
String.split() method
String.split() method
2021.06.28String.split() 입력받은 정규표현식 or 특정 문자를 기준으로 String을 쪼개서 String의 배열에 저장하는 함수 parameter 1개 - 입력한 parameter를 기준으로 String을 쪼개서 String의 배열에 저장 parameter 2개 - 첫번째 parameter를 기준으로 쪼개고, 두번째 인자 값을 String을 쪼개서 저장한 최대 배열의 길이로 설정
String.valueOf( ) method
String.valueOf( ) method
2021.06.28해당 method에 대해 공부하기 위해서는 우선 toString() method를 함께 같이 알아봐야할 필요성이 있다. 사실 valueOf() method는 toString method와 수행하는 기능 자체 "Object의 값을 String으로 반환한다" 라는 점에서 크게 다르지 않다. 다만, Object가 null인 경우 이를 처리하는 방식에서 차이를 보인다. toString() method의 경우 해당 method를 호출한 Object가 null인 경우 NPE(= NullPointerException)를 발생시킨다. 하지만 valueOf() method의 경우 해당 method를 호출한 Object가 null인 경우 "null" 이라는 String을 반환한다는 점에서 그 차이가 있다. String.v..
String.join() method
String.join() method
2021.06.28java8 부터는 String class에서 .join() 이라는 method를 지원한다. String.join() 여러 개의 String을 이어붙여 하나의 String으로 만들어주는 method 실제로 다음과 같은 형식으로 활용해볼 수 있다. .join("delimiter", List); .join("delimiter", Array); 여기서 "delimiter"는 각 String을 이어 붙일 때 그 사이에 삽입할 문자를 가리키는 것이며, 두번째 parameter로 위치하는 List또는 Array는 이어붙일 String들의 set이라고 이해하면 된다. 간단하게 예시를 살펴보도록 하자. 위의 예시에서 str_set은 여러 명의 이름을 저장하는 String Array 이며, 그 아래와 같이 join met..
15주차(2) - 강의내용 정리
15주차(2) - 강의내용 정리
2021.06.15이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
15주차(1) - 강의내용 정리
15주차(1) - 강의내용 정리
2021.06.15이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.