본문 바로가기

분류 전체보기520

JDBC 연습 Class.forName(); 사용 예시는 아래와 같다. 2023. 6. 8.
JDBC [ JDBC ] 1. 자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스를 연결해주는 응용 프로그램 인터페이스를 말한다. 2. 쉽게 말해서, 자바 언어와 DB를 연결해주는 통로 이다. 필요한 이유 ? DB에다 직접적으로 값을 insert 하거나, select 하거나, 등의 일을 mySQL 을 이용해서 했는데,웹을 동작 또는 수행시킬 때마다 매번 그럴 수는 없기 때문에,프로그램이 이 일을 대신할 수 있게 만들어주면 용이 할 수 밖에 없다. 이때, 사용하는 것이 바로 JDBC 이다. 1. 드라이버 로딩시 DriverManager 라는 객체가 갖고 있는 메서드를 이용해서 드라이버를 로딩 한다. 2. DriverManager 객체를 이용해서 Connection 인스턴스를 얻어내고, 3. Connection.. 2023. 6. 8.
MySQL 연습 1. INSERT INTO STUDENT (칼럼명, 칼럼명, 칼럼명, ..) VALUES (데이터, 데이터, 데이터, ..); 2. SELECT * FROM STUDENT; 1. mysql> -- 학생 테이블에서 번호가 6 이하 이면서,(이면서는 AND) 2.mysql> -- 점수는 20초과, 포지션은 정글, 바텀, 서포터인 목록 보여줘 ~ (WHERE 구문) 1. mysql> -- 포지션 열이 탑인 데이터 중에, 점수 열이 50 미만인 데이터 검색하기. 1. mysql> -- 정렬 해보자 ! mysql> -- 포지션 열이 탑인 데이터 중에, 점수 열이 50 미만인 데이터를 검색 하고, mysql> -- 레벨을 내림차순 으로 ~~ DESC : 내림차순 ORDER BY 칼럼명 DESC; 1. mysql> .. 2023. 6. 7.
메모 책 추천 : 1) 초보자를 위한 SQL 200제 https://product.kyobobook.co.kr/detail/S000000833249 2) 칼퇴족 김대리는 알고 나만 모르는 SQL https://product.kyobobook.co.kr/detail/S000201551646 2023. 6. 7.
SQL (Structured Query Language) 1. SQL (Structured Query Language) 란 ? : 구조화된 질의 언어. : 관계형 데이터베이스에서 사용되는 언어. : 표준 SQL을 배우면 대부분의 DBMS를 사용할 수 있다. 2. 인터프리터 언어 (채팅형 언어) : 한줄씩 코딩하고 실행할 수 있다. 3. SQL은 대소문자 구분을 하지 않는다. 하지만, 가독성을 위해 모든 명령어를 대문자로 작성 한다. 4. DB가 최적화가 안되어 있다는 말 == 중복 데이터가 발생할 여지가 있다. (높다) 실무에서 WHERE 절 (조건절) 뒤에 부분을 PK가 아닌, 다른것을 작성하는 경우는 굉장히 없는 케이스 라고 생각 하면 된다. ※ 데이터 자체는 몇개 없어도, 테이블은 많이 존재 할 수 있다 ! why ? 잘게 나눠서 데이터를 관리하는것이 데.. 2023. 6. 7.
Database (DB) 1. 데이터베이스 (Database, DB)란 ? : 데이터의 저장소. : 데이터베이스에는 일상생활 대부분의 정보가 저장되고 관리된다. : 서로 주고받은 카카오톡 메세지, 인스타그램에 등록한 사진, 버스 또는 지하철 에서 찍은 교통카드 등의 정보가 모두 데이터베이스에 기록 된다. 2. DB (데이터, 정보, 자료) 를 다루는 시스템 == DBMS. 3. DBMS (Database Management System, 데이터베이스 관리 시스템) 란 ? : 데이터베이스를 운영하고 관리하는 소프트웨어. : MySQL, Oracle(오라클), ... : 다양한 데이터가 저장되어 있는 데이터베이스는 여러명의 사용자나, 응용 프로그램과 공유하고 동시에 접근이 가능 해야 한다. 예시) 은행의 예금 계좌를 생각 해보자. .. 2023. 6. 7.
instanceof 연산자 1. 참조변수가 참조하고 있는 (가리키고 있는) 인스턴스(객체) 의 실제 타입을 알아보기 위해서 instanceof 연산자를 사용. 2. 주로 조건문에 사용된다. 반환값이 true or false 이기 때문에. 3. instanceof 를 이용한 연산결과로 반환값이 true 라는 것은, 참조변수가 검사한 타입으로 형변환이 가능하다는 것을 의미. 예시) void doWork(Car car) { if(car instanceof FireEngine) { FireEngine fe = (FireEngine)car; fe.water(); .. } } 1. instanceof 연산자를 사용해서, 형변환이 가능한지 확인. 2. if문이 참이면, 형변환을 하고, water() 메서드를 호출. 위의 코드는 Car 타입의 .. 2023. 6. 6.
참조변수의 형변환 예시) [ Console ] 1. 37번째 줄에서 water() 메서드를 문제없이 호출. 2. 45번째 줄에서도 water() 메서드를 문제없이 호출. 3. 60번째 줄은 빨간 밑줄이 뜨지는 않지만, 실제 실행하면 ClassCastException 에러가 뜨게 된다. 왜냐하면, 참조변수 myC는 myCar 객체를 가리키고 있는데, 다운캐스팅을 해서 myFireEngine 타입의 참조변수 myFE에 주소값을 대입하면 참조변수 myFE는 myCar 객체를 가리키게 된다. 참조변수 myFE의 타입은 myFireEngine이라 멤버로 water() 메서드를 가지고 있는데, 실제 가리키고 있는 myCar 객체에는 water() 메서드가 없기 때문에, 실행시 에러가 발생 하게 된다. 2023. 6. 6.
다형성 (Polymorphism) 함수와 메서드의 차이 1. 함수 : 일반적인 프로그래밍 언어에서 흔히 만들 수 있다. 주어(주체)가 존재 하지 않는다. == 객체가 존재 하지 않는다. 2. 메서드 : 객체지향언어 에서만 작성이 가능 하다. 주어(주체)가 존재 한다. 기존에 사용하는 함수에 주어(주체)를 부여. 객체가 실행하는 함수 == 인스턴스 메서드. 함수를 실행 시키는 주어(주체) == 객체 (== 참조변수 // 참조변수가 객체를 가리키므로) [ 정리 ] 다형성 : 같은 함수를 실행시켜도, 주어(주체)에 따라 다른 기능이 실행되는 현상을 말한다. == 참조변수가 어떤 타입이냐에 따라, 사용할 수 있는 멤버 (멤버변수 + 인스턴스 메서드)의 개수가 달라지거나, 같은 이름의 메서드라도, 다른 기능이 실행되는 현상을 볼 수 있다. (오버.. 2023. 6. 6.