본문 바로가기

개발/JAVA

(23)
객체지향 (상속, 합성, 인터페이스) 캠핑 상황으로 이해해보기 객체지향 - 상속, 합성, 인터페이스 복습! 캠핑을 가서 텐트를 치고 밥을 먹는다. 그런데, 만약 텐트 3동이 텐트를 옮겨야한다면 어떻게 해야할지 객체지향으로 구현해보자. 부모 클래스 - 캠핑 자식 클래스 - 경량텐트, 에어텐트, 차박텐트 class Camping { public void reservation() { System.out.println("Camping - reservation"); } } class LightTent extends Camping{ public void shortly() { System.out.print("빨리 피칭할 수 있는 경량 텐트"); } } class AirTent implements setUp { public void doPack(int pack) { System...
[JAVA] PreparedStatement(pstmt)와 Statement(stmt)의 차이점 JDBC를 사용하고, 쿼리문을 수행할 때 사용하는 두 객체! 하지만 어떨 때는 PreparedStatement를 사용하고, 어떨 때는 Statement를 사용하는데 이 차이점이 명확히 무엇일까? userId가 admin 정보를 가져오는 다음 코드들을 살펴보자. ■ 코드 1. Query = "SELECT * FROM USER WHERE USERID=?"; PreparedStatement pStmt = conn.prepareStatement(query); for(int i=0; i
[JAVA] #02. [SQL] StringBuffer, StringBuilder, String 의 차이점 ■ StringBuffer과 StringBuilder, String의 특징과 차이점? 우선 Java에서 세 가지 클래스의 특징과 차이가 무엇인지 요약하자면, 세 가지 클래스는 모두 문자열을 처리하기 위한 클래스이다. 문자열을 더하는 연산을 할 때 성능의 차이가 발생하는데 String 클래스가 StringBuffer, StringBuilder 보다 느리고 메모리 관리 측면에서도 큰 차이를 보인다. 따라서 문자열의 더하기 연산을 이용할 때는 StringBuffer 혹은 StringBuilder 의 사용을 고려해봐야 합니다. StringBuffer와 StringBuilder 는 기능이 동일하지만 한 가지 차이점이 존재한다. 바로 동기화 처리 문제다. StringBuffer 는 동기화(synchronizatio..
[JAVA] #10. 자동 형변환 / 강제 형변환 (CAST) 문자열에있는 숫자를 계산하고 싶은경우, 스트링변수에 Int값을 넣고싶은 경우 등등, 코딩을 하다보면 어떤 변수형을 다른 형으로 강제 치환해야 할 경우가 많다. 그럴 때 유용하게 쓰이는 형변환에 대해 알아보자. ▶문자 -> 숫자 ▶문자 -> 숫자 package main; public class mainClass { public static void main(String[] args) { /* [우선순위] (자료형) 변환 boolean 1 byte 1 short 2 int 4 long 8 float 4 // 소수점형이 우선순위는 더 높음 double 8 (자동 형 변환, 강제 형(cast) 변환) */ // 자동형 변환 (작은 그릇에서 큰 그릇으로 변환) short sh = 10; int num; num =..
[JAVA] #09. 비트 연산자(bitwise operator), 시프트 연산자 ■ 비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자입니다. 또한, 비트 단위로 왼쪽이나 오른쪽으로 전체 비트를 이동하거나, 1의 보수를 만들 때도 사용됩니다. package main; ​ public class mainClass { ​ public static void main(String[] args) { ​ // bit Operator // 고급 연산자라고 생각하면 좋다 // 연구개발, 리서치 부분에선 중요한 부분이다 // 처리 속도 및 연산 속도가 빠르다 // 기술 면접에서 많이 나왔던 부분 ​ /* bit : 0, 1 ​ & AND | OR ^ XOR *** -> 보안쪽에서 자주 사용되는 연산, 두 값의..
[JAVA] #08. 자료형(Java Data Type) :: boolean, int, char, double 등 package study1; ​ public class mainClass { ​ public static void main(String[] args) { ​ /* 상수, 변수 상수 : 2진수, 8진수, 10진수, 16진수 ​ 변수 : 특정 공간 -> 작명 int number2, numPos, NUMBER ​ 수치형 정수 byte 1 byte short 2 byte int 4 byte long 8 byte ​ 실수 float 4 byte double 8 byte ​ 문자형 문자 char 2 byte 'A' 'a' '한' ASCII -> Unicode -> multibyte 문자열 String (class) - 크기가 안 정해져 있음, "hello" "하이" Array (배열) - 굉장히 중요하다!!!!!!..
[JAVA] #07. 논리 연산자 & 삼항 연산자 ■ 논리 연산자 논리곱 (&&, &) - 피연산자가 모두 true일 경우에만 연산 결과가 true 이다. System.out.println(b1 && b2); -> b2가 false 이므로 결과는 false System.out.println(b1 && b3); -> b1과 b2 모두 true 이므로 결과는 true 논리합 (||,|) - 피연산자 중 하나만 true이면 연산 결과는 true 이다. System.out.println(b1 || b2); -> b1 이 true이므로 결과는 true 이다. 배타적 논리합 () -> 피연산자가 서로 다른 값일 경우만 연산 결과가 true 이다. System.out.println(b1 ^ b2); -> b1은 true, b2는 false로 서로 다르므로 결과는 t..
[JSP] #03. MVC model 1과 model 2 같은 코드로 비교(CustUser) (2) MVC Model 2