일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- .substring
- sql오류
- 연산자
- executeUpdate
- Join
- SQL
- 상속
- Java
- getter
- 프로그래머스
- 삼항연산자
- 제어문
- SELECT 절
- 향상된for문
- ifelse
- 자바
- 오라클
- HAVING
- 칼럼명에 별칭 지정
- .repeat
- 카카오인턴십
- 이터레이블
- 겟터
- 생성자
- setter
- 생성자쓰는이유
- 작성순서
- int오류
- 객체
- for문
- Today
- Total
목록JAVA (125)
CoDream

자바의 기본 자료형 자바의 기본 자료형은 프로그램에서 사용되는 데이터의 유형을 나타냅니다. 이러한 기본 자료형은 기본적인 데이터를 저장하고 처리하는 데 사용됩니다. 자바의 기본 자료형은 크게 정수, 부동소수점, 문자, 논리형으로 나눌 수 있습니다. 1. 정수형 (Integer Types) byte 8비트 크기를 가지며, -128부터 127까지의 정수를 표현합니다. short 16비트 크기를 가지며, -32,768부터 32,767까지의 정수를 표현합니다. int 32비트 크기를 가지며, 대부분의 정수 값들을 표현할 수 있습니다. 대표적으로 -2,147,483,648부터 2,147,483,647까지의 범위를 가집니다. long 64비트 크기를 가지며, 매우 큰 정수 값들을 표현할 수 있습니다. 대표적으로 -..

객체 지향 프로그래밍(OOP) 소프트웨어를 모듈화하고 유지보수하기 쉽게 만드는 개념입니다. 이 개념은 현실 세계의 객체를 소프트웨어 모델로 변환하여 문제를 해결하는 데 사용됩니다. 자바는 객체 지향 프로그래밍 언어로, OOP의 핵심 개념을 지원하며 클래스와 객체를 기반으로 합니다. 클래스(Class)와 객체(Object) 클래스(Class) 클래스는 객체를 만들기 위한 설계도이며, 데이터와 메서드로 구성됩니다. 자바에서는 클래스를 사용하여 객체를 생성하고 관리합니다. 클래스는 데이터(속성)와 행동(메서드)을 정의합니다. 객체(Object) 클래스의 인스턴스입니다. 클래스로부터 생성된 실체가 객체이며, 실제로 메모리 상에 할당되고 사용됩니다. 객체는 클래스에서 정의된 속성과 메서드를 가지고 있습니다. OO..

자바에서 중요한 언어의 기본 기능, 핵심 개념을 이해하기 객체 지향 프로그래밍 (OOP) 자바는 객체 지향 프로그래밍 언어로, 클래스와 객체를 기반으로 합니다. OOP의 개념을 이해하고 클래스를 정의하고 객체를 생성하는 방법을 익히는 것이 중요합니다. 자바의 기본 자료형 정수형, 실수형, 문자형, 논리형 등 자바의 기본 자료형을 이해하고 사용하는 것이 중요합니다. 제어문 (Control Statements) 조건문(if-else, switch)과 반복문(for, while, do-while)을 사용하여 프로그램의 흐름을 제어하는 방법을 이해하는 것이 중요합니다. 배열과 컬렉션 프레임워크 배열과 컬렉션 프레임워크를 사용하여 데이터를 구조화하고 처리하는 방법을 익히는 것이 중요합니다. 예외 처리 (Excep..

문제 해설 replace() > 주어진 문자열 내에서 특정 문자열을 쉽게 대체하거나 제거할 수 있습니다. String answer = my_string.replace(letter, " "); > 문자열 my_string에서 문자열 letter를 찾아서 빈 문자열( " " )로 대체하는 것을 의미 replace() 메서드는 문자열 내의 모든 letter 문자열을 찾아서 빈 문자열로 대체 정답 class Solution { public String solution(String my_string, String letter) { String answer = my_string.replace(letter, ""); return answer; } } https://school.programmers.co.kr/lear..

문제 해설 char[] arrRsp = rsp.toCharArray(); > String으로 받은 문자열을 char로 한개씩 나눔. for(char chr : arrRsp) { if(chr=='2'){ answer+='0'; } else if(chr=='0'){ answer+="5"; } else{ answer+="2"; > 반복문 안에 가위(2) 바위(0) 보(5) 중 char를 이길 수 있는 방법을 if문으로 작성한 후 Strigng answer에 하나씩 추가함. 정답 class Solution { public String solution(String rsp) { String answer =""; char[] arrRsp = rsp.toCharArray(); for(char chr : arrRsp) ..

java.lang.StackOverflowError Exception in thread "main" java.lang.StackOverflowError at book.BookController.(BookController.java:19) at genre.GenreController.(GenreController.java:16) 메서드에서 재귀 호출이 발생하기 때문입니다. 메서드에서는 if (!bc.isNumberExists(no)) 라인을 통해 번호가 존재하는지 여부를 확인하고 있습니다. 그러나 존재하지 않는 경우에도 해당 메서드를 재귀적으로 호출하고 있습니다. 이렇게 되면 장르가 존재하지 않을 때도 계속해서 같은 메서드를 호출하게 되어 무한히 재귀 호출이 반복되어 java.lang.StackOverfl..

MVC (Model-View-Controller) 아키텍처 MVC 아키텍처는 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller)로 분리하여 각각의 역할에 집중할 수 있도록 합니다. 효율적이고 재사용 가능한 Java 애플리케이션을 개발하기 위해서는 MVC (Model-View-Controller) 아키텍처를 따르는 것이 일반적입니다. 모델(Model): 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 데이터베이스와의 상호작용을 처리하는 DAO 클래스들이 모델에 속합니다. 뷰(View): 사용자에게 데이터를 시각적으로 표시하는 부분을 담당합니다. HTML, JSP, Thymeleaf 등의 템플릿 엔진을 사용하여 구현할 수 있습니다. 컨트롤러(Controller): 사용자 입력..

커밋 데이터베이스 트랜잭션에서 변경된 내용을 영구적으로 저장하는 작업을 말합니다. 트랜잭션은 데이터베이스에서 원자성, 일관성, 고립성, 지속성(ACID)을 보장하는 논리적 작업 단위를 의미하며, 커밋은 이러한 트랜잭션을 성공적으로 완료했을 때 변경사항을 영구적으로 적용하는 것을 의미합니다. 커밋종류 수동 커밋: 명시적으로 트랜잭션을 커밋하는 방식. 자동 커밋: 각 SQL 문장 실행 시 자동으로 커밋되는 방식. 각 커밋의 장단점 수동 커밋: 트랜잭션 제어 가능, 롤백 가능, 신뢰성 높음. 자동 커밋: 간편하고 실수를 줄일 수 있으나, 트랜잭션 관리가 어려울 수 있음. conn.commit(); 커밋 예시 // 수동 커밋 예시 Connection conn = null; try { conn = DriverMa..
JDBC 상호작용시 필요한 용어 Connection Connection은 데이터베이스와의 연결을 나타냅니다. 데이터베이스와의 통신을 설정하고 SQL 문을 실행하기 위해 Connection 객체를 사용합니다. JDBC를 사용하여 Connection 객체를 생성하고 데이터베이스에 연결합니다. PreparedStatement PreparedStatement는 SQL 쿼리의 실행을 준비하는 데 사용됩니다. 미리 작성된 SQL 쿼리에 동적 매개변수를 전달하여 쿼리를 실행할 수 있습니다. 이를 통해 SQL 인젝션 공격을 방지하고 쿼리의 재사용성과 성능을 향상시킬 수 있습니다. executeUpdate executeUpdate 메서드는 INSERT, UPDATE, DELETE와 같은 DML(Data Manipulat..

rs.next(); - While문을 사용해 MEMBER 테이블에 있는 결과를 모두 출력. > 모두 출력한 후 마지막 행 다음의 결과 집합이 없어 오류발생. rs.next(); 반복해서 적으면? - While문 의 조건을 true가 아닌 rs.next()를 적어주었음. > 테이블의 레코드는 6줄인데 3개만 출력됨... 이유는? - rs.next()가 while문 안에 한번 더 적혀있었기 때문...왜지? > rs.next()가 while문 안에 또다시 적혀 있다면, 각 반복마다 레코드의 다음 행으로 커서가 이동하게 됩니다. 한 번의 반복마다 결과 집합에서 레코드가 두 번씩 이동했기 때문에 (6 / 2 = 3) 3개의 레코드만 출력되었음. 해결:) - while문 안의 rs.next()를 삭제하자 MEMBE..