오늘은 JVM의 대한 개념이 부족한 것 같아 이 부분에 대해 학습해 보려고 한다. JVM이란 무엇은 하는 것인지, 필요한 부분들을 하나씩 알아보자. 1. JVM(Java Virtual Machine) 이란? 자바 가상 머신은 자바 바이트코드(.class)를 실행할 수 있는 주체이다. 자바와 운영체제 사이에서 중개자 역할을 수행하며, 자바가 운영체제에 구애 받지 않고 프로그램을 실행할 수 있도록 도와준다. 자바가 컴파일 되어 바이트코드, 즉 class 파일을 만들면 이 코드가 자바 가상 머신 환경에서 실행된다. 정리해 보면 바이트코드(.class)가 어느 운영체제에서든 돌아갈 수 있도록 해 주는 것이 JVM의 역할이라는 뜻이다. 참고로 JVM은 JRE(Java Runtime Environment)에 포함되..
회사에 온몸을 바치며 지낸지 두달 가까이 되어 가는것 같다. 그래서 그런지 블로그에 열심히 글을 올리겠다는 마음가짐을 잊어버리고 말았다. 일과 함께 틈틈이 자격증 시험도 보다보니 개인 공부할 시간이 많이 줄어든 것 같다.. 그래서 회사에서 일을 하면서 배운 새로운 지식들과 개발 상식을 적어보려고 한다. 그래서 오늘은 Jva aDB Connection에 대해 적어보려고 한다. 회사 솔루션을 개발하며, 자동으로 DB에 Table을 생성해 주는 기능을 추가해 주게 되었다. 우리는 MariaDB를 사용하지만 고객사가 요구하는 DB가 무엇이 될지 모르니 3개의 DB 타입에 맞에 모두 설정을 해줄 예정이다. 오늘은 MariaDB 먼저 알아보자. JDBC(Java DataBase Connectivity)란? JDBC..
저번 자바 학습에서는 클래스와 객체 1탄을 진행했습니다. 객체란 무엇이고 코드로 객체를 어떻게 구현하고 생성하는지 알아보았습니다. 이번에는 클래스와 객체와 관련된 새로운 용어를 알아보고, 객체 간에 어떻게 협력할 수 있는지 알아보도록 합시다. 1. this 예약어 : 생성된 인스턴스 스스로를 가리키는 예약어이다. 이 외에도 다른 역할로 this를 사용할 수 있는데, 예제를 통해 살펴보자. 1-1) 자신의 메모리를 가리키는 this 생년월일을 의미하는 BirthDay 클래스를 만들고, this를 출력하는 메서드를 추가해 보겠다. package thisex; class BirthDay{ int day; int month; int year; public void setYear(int year) { this.y..

이번에는 클래스와 객체에 대해 배워보도록 하겠습니다. 이 부분도 매우 중요한 부분이고, 객체지향 프로그래밍을 위한 초석이니 집중해서 알아보도록 하겠습니다. 이번에는 새로운 용어가 많이 등장합니다. 이 용어를 정의하면서 개념을 함께 알아보도록 합시다. ▶ 객체란? 의사나 행위가 미치는 대상입니다. 예를 들면 사람, 자동차, 건물 등이 있습니다. 즉, 눈에 보이는 사물은 모두 객체라고 할 수 있습니다. ▶ 자바 객체 지향 프로그래밍(Object-Oriented Programming : OOP)이란? 객체를 기반으로 하는 프로그래밍입니다. → 어떤 대상(객체)를 가지고 프로그래밍 하는 것입니다. → 객체를 먼저 정의하고 각 객체가 어떻게 구현할 것인지를 고민해야 합니다. ▶ 클래스란? 객체의 속성과 기능을 코..
프로그래밍의 기본이라고 할 수 있는 제어의 흐름 조건문과 반복문에 대해 학습해 보도록 하겠습니다. 이 부분은 앞으로 프로그래밍 함에 있어 끊임없이 사용하게 될 내용이니 만큼 확실하게 알아두면 좋을 것 같습니다. 바로 시작해 봅시다. 1. 조건문 조건문이란, 말 그대로 주어진 조건에 따라 다른 문장을 선택할 수 있도록 프로그래밍하는 것을 말합니다. 조건문의 가장 단순한 형태는 if문입니다. if (조건식) { 수행문; } '만약 ~이라면'으로 해석할 수 있으며, 주어진 조건이 참일 경우 해당하는 문장을 수행할 수 있습니다. int age = 10; if (age >= 8) { Systemout.out.println("학교에 다닙니다.") } 이러한 꼴로 나오는 것입니다. if 문이 단독으로 사용되기도 하지..

오늘은 자바의 여러 가지 연산자에 대해 알아보도록 하겠습니다. 연산자(operator)는 연산에 사용하는 기호를 말합니다. 우리가 흔히 알고 있는 +, - 등이 연산자가 됩니다. 그리고 연산에 사용하는 값을 항(operand)이라고 합니다. 예를 들어 3 + 4에서 3과 4가 항이 되고 +가 연산자가 되는 것입니다. 연산자는 기본연산자와 비트연산자로 나눌 수 있습니다. 먼저 기본 연산자부터 알아보도록 하겠습니다. 1. 기본연산자 ▶ 대입연산자(assignment operator) : 변수에 값을 대입하는 연산자 우선순위가 가장 낮습니다. → 모든 연산을 끝낸 후 마지막에 연산 결과를 변수에 대입합니다. int age = 24; ▶ 부호연산자 : +, - 연산자 + : 변수나 상수값을 양수로 만듭니다. -..
이번에는 자바의 오버라이딩과 오버로딩에 대해 알아보려고 합니다. 두 개념은 비슷한 용도도 아니지만 이름이 비슷하여 많이 헷갈려하는 개념입니다. 그리고 면접에서 단골 질문으로도 유명한 것들인데, 저도 실제로 지금 회사 면접을 볼 때 질문이 들어왔던 기억이 있습니다. 개념은 알고 있어도 말로 표현해 내기가 어려워서 글로 적어보려고 합니다. 1. 오버라이드(Override) 간단히 말해서 상속받은 부모 클래스(상위 클래스)의 메소드를 재정의 하는 것이라고 할 수 있습니다. 상속관계에서만 적용되는 특징으로, 자식 클래스(하위 클래스)에서 부모 클래스를 상속 받았을 경우 부모 클래스의 메소드를 똑같이 가져와 사용할 수 있습니다. 이때 부모 클래스에 정의되어 있는 대로 메서드를 사용하지 않고, 자식 클래스에서 메소..
업무를 하면서 Statement와 PrepareStatement를 사용할 일이 생겼는데 이 두개의 개념에 대해 알아보려고 합니다. 이 둘의 차이를 살펴보도록 하겠습니다. 일단 Statement와 PrepareStatement는 SQL문을 실행할 수 있는 객체입니다. 1. Statement 에 대해 먼저 알아보겠습니다. Statement의 예시를 보면 아래와 같습니다. String sql = "SELECT * FROM member WHERE name =" + name conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rst = stmt.executeQuery(sql..