╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Java/Java 기초 22

[Java] 자바 DB 연동 (jdbc)

자바로 프로그래밍을 아무리 잘해도 결국 db와 연동을 시켜야 사용하고자 하는 용도로 사용할 수 있다. 우선 JDBC(Java Database Connectivity)란 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. jdbc를 통해 아래와 같은 일을 수행할 수 있다. (CURD) insert select update delete jdbc내의 Driver라는 클래스를 사용해 Java 어플리케이션과 db를 연결한다. (Connection) 주의사항으로 각 db마다 다른 Driver 클래스를 사용한다. 예) Oracle - OracleDriver, MySQL - Driver 각각의 db마다 driver class는 각각의 공식사이트에서 다운받을 수 있다. (jar) jar 파일을 다운받아서 l..

Java/Java 기초 2022.05.07

[Java] 예외처리 (Exception)

실제로 자바를 사용해서 코딩을 하다보면 오류가 생길 때 마다 콘솔에 Exception이 뜨며 프로그램이 종료된다. 자바에선 이런 오류들을 종류별로 구분하여 구체적으로 어떠한 오류가 발생했다라고 알려준다. 이런 오류들의 종류로 대표적인 예를 들자면 아래와 같이 있다. NullPointerException ArrayIndexOutOfBoundsException ArithmeticException IOException 이클립스는 콘솔을 통해 코드 내부에서 어떤 오류가 어디서 발생했는지 알려준다. 프로그래머 입장에서는 이렇게 친절하게 알려주니 그저 참고할 수 있는 노트로 생각하는 경우가 많다. 그런데 사실 프로그램의 오류는 프로그램 내부에서 발생하지 않을 수도 있다. 이를 버그라고 하며 프로그램 외부에서 발생하..

Java/Java 기초 2022.05.01

[Java] 컬렉션 프레임워크 Map (HashMap)

컬렉션 프레임워크(collection framework)란 다수의 데이터들을 쉽게 다루기위해 만들어진 클래스들의 집합체이다. 컬렉션 프레임워크에서 제공하는 클래스들은 수많은 사람들을 통해 표준화되었고 이로인해 각 상황에 맞춰서 편하게 사용만 하면 된다. 컬렉션 프레임워크에서 제공되는 클래스들은 인터페이스의 형태로 만들어져 있다. 사용시 클래스로 구현해야 한다. 자바 컬렉션 프레임워크는 크게 세단위로 나눌 수 있다. List Set Map 이번엔 Map에 대해서 알아보겠다. Map은 파이썬의 Dictionary이라고 생각해도 무방하다. Map의 특징으로는, 데이터 저장의 순서가 없고 저장하는 데이터들이 Key, Value의 한 쌍을 이룬다는 것이다. Key는 중복을 허용하지 않는다. 이때 Key와 Valu..

Java/Java 기초 2022.04.30

[Java] 컬렉션 프레임워크 Set (HashSet)

컬렉션 프레임워크(collection framework)란 다수의 데이터들을 쉽게 다루기위해 만들어진 클래스들의 집합체이다. 컬렉션 프레임워크에서 제공하는 클래스들은 수많은 사람들을 통해 표준화되었고 이로인해 각 상황에 맞춰서 편하게 사용만 하면 된다. 컬렉션 프레임워크에서 제공되는 클래스들은 인터페이스의 형태로 만들어져 있다. 사용시 클래스로 구현해야 한다. 자바 컬렉션 프레임워크는 크게 세단위로 나눌 수 있다. List Set Map 컬렉션 프레임에 대해 바로 알아보기전에 먼저 알아야하는 개념이 있다. 바로 컬렉션 프레임워크의 관계이다. 저번에도 말했듯이 list와 set에서 쓰는 메소드들은 대부분 collection에 저장되어 있고 이는 사용하는 메소드가 비슷하다는 것을 뜻한다. Set 이번엔 Se..

Java/Java 기초 2022.04.28

[Java] 컬렉션 프레임워크 List (ArrayList, LinkedList)

컬렉션 프레임워크(collection framework)란 다수의 데이터들을 쉽게 다루기위해 만들어진 클래스들의 집합체이다. 컬렉션 프레임워크에서 제공하는 클래스들은 수많은 사람들을 통해 표준화되었고 이로인해 각 상황에 맞춰서 편하게 사용만 하면 된다. 컬렉션 프레임워크에서 제공되는 클래스들은 인터페이스의 형태로 만들어져 있다. 사용시 클래스로 구현해야 한다. 자바 컬렉션 프레임워크는 크게 세단위로 나눌 수 있다. List Set Map 컬렉션 프레임에 대해 바로 알아보기전에 먼저 알아야하는 개념이 있다. 바로 컬렉션 프레임워크의 관계이다. 위의 사진에서 볼 수 있듯 list와 set은 공통된 부모 인터페이스를 상속한다. 위의 사실을 통해 기억해야하는건 list와 set에서 사용하는 메소드들중 공통된 메..

Java/Java 기초 2022.04.27

[Java] 제네릭 (Generic)

이번에는 제네릭(Generic)에 대해서 알아보겠다. 우선 generic이란 '일반적인'이라는 뜻이다. 단어의 뜻을 알고 자바에서 Generic이 뜻하는 것을 접근하면 이해가 훨씬 쉽다. Generic을 한마디로 표현하자면 '일반화된 Class 자료형'이다. (Generalized Class type) Class가 일반화된다는게 무슨소리인가? 라고 생각할 수도 있다. 그래도 자료형을 기억하자. 아래에서 예제를 통해 설명하겠다. 자바에서 Generic은 아래와 같다. Class가 정의되었다. Class 이름이 조금 이상하다. data의 자료형도 이상하다. setter와 getter가 정의되었다. 여기서 Generic은 T이다. Generics의 필드에서 "T date;" 가 실행되었다. 분명 자료형이 명시..

Java/Java 기초 2022.04.21

[Java] 오브젝트 클래스 (Object Class)

이번에 알아볼 것은 Object Class이다. Object Class는 모든 java파일에 존재하고 Class의 상속 관계에서 가장 최상위에 있는 클래스이다. 즉, 모든 Class는 Object Class를 상속하여 만들어진다. 이말은 곧 Object Class는 모든 Class에 대한 부모 클래스라는 것이다. Class를 정의할 때 extends Object를 사용하지 않지만 이는 자동적으로 실행 되는 것이다. Object Class는 자바 기본 패키지에 저장되어있다. 또한 Object Class에 정의되어 있는 기본적인 메소드들이 있는데 모든 클래스에서 상속 또는 오버라이드하여 사용할 수 있다. 이 메소드들을 잘 활용하면 코딩을 더 깊이 있게 할 수 있다. Object Class에 정의된 메소드들은..

Java/Java 기초 2022.04.20

[Java] 스태틱, 싱글톤 패턴 (static, singleton pattern)

이번에는 static 키워드에 대해 알아볼 것이다. static은 간단한 개념이지만 매우 유용하게도 활용된다. 이번 포스트에서 알아볼 개념들은 아래와 같다. static singleton pattern 우선 스태틱(static)이란? motionless와 같은 뜻이다. '정적인' 이라는 뜻이고 풀이는 아래와 같다. static: lacking in movement, action, or change, especially in a way viewed as undesirable or uninteresting. 줄이면 "standing or fixed in one place" 자바에서 static은 키워드이며 객체를 전역으로 선언하고 싶을 때 사용한다. 객체를 전역으로 선언한다는 말은 객체를 메모리의 Stack..

Java/Java 기초 2022.04.18

[Java] 인터페이스 (interface)

이번에는 인터페이스에 대해 알아보겠다. 인터페이스는 자바에서 매우 중요한 개념이다. 인터페이스란? interface가 뭘까? 아마 대충 interaction(상호작용)과 비슷한 말일 것이다. prefix inter는 between / among이라는 뜻이다. 인터페이스(interface)의 뜻은 아래와 같다. Interface : "a connection between two pieces of electronic equipment, or between a person and a computer" "두 전자기기를 연결해주는 매개체 또는 사람과 컴퓨터를 이어주는 매개체"라고한다. 아무튼 서로다른 두 객체를 연결하는 매개체를 뜻한다. 자바에서 인터페이스는 하위 클래스들에 대한 규격을 만들어주기도하고 (강제성)..

Java/Java 기초 2022.04.16

[Java] 추상메소드, 추상 클래스 (Abstract Method, Abstract Class)

추상화는 여러가지 데이터중 공통된 속성이나 특징만 남기고 차이점을 버리는것을 이라고 했다. 추상화된 객체는 결국 실체가 사라진다. 추상 메소드와 추상 클래스를 한마디로 정의하자면 아래와 같다. 추상 메소드 : 미완성 함수 추상 클래스 : 미완성 설계도 우선 추상 메소드란 선언부만 정의하고 내용은 비워져 있는 메소드를 말한다. 추상 클래스는 추상 메소드를 포함하고 있는 클래스를 말한다. 추상 메소드는 자식 클래스에서 메소드 오버라이딩을 통해 반드시 구현해야한다고 명시 하는 것이고 어차피 자식 클래스에서 오버라이딩 할테니 메소드 구현은 하지 않는 것이다. (껍데기만 있다.) 추상 클래스는 최소 하나 이상의 추상 메소드를 포함하고 있는 클래스이다. 포함하는 추상 메소드가 실체가 없으니 추상 클래스 또한 실체가..

Java/Java 기초 2022.04.15