java 33

Servlet - jsp, Dynamic web project 시작 !, servlet 시작 !

Dynamic web project  Project Explorer 에서 우클릭 - Dynamic web project next - next - webModule 확인 context root :http://localhost:8080/web01/  ….. 첫번째 경로 명.content directory : 웹브라우저의 출력되는 최종적인 결과물들이 있는 곳. (html 이 들어가는 위치를 말함.)generate web.xml deployment descriptor : web.xml : 설정 내용 기술 문서 모든 웹 프로젝트들은 가지고 있는다 , 없어도 실행 가능하나 있는게 편함. 체크 후 finish src/main/java :  우리가 현재 작업하던 java /여기서 java 작업을 할 것.src 폴더는 ..

Java에서의 SQL 데이터 처리: Statement, PreparedStatement ,ResultSet

Statement와 PreparedStatement 비교  Statement와 PreparedStatement 클래스는 Java 애플리케이션에서 데이터베이스에 접근하여 SQL 쿼리를 작성하고 DB에 전달할 때 쓰는 클래스들로 다른 특성을 가지고 있다. StatementSQL 쿼리에서 변수를 직접 문자열로 결합하여 사용String sql = "insert into student values(" + sno + ", '" + name + "', ...);";st.executeUpdate(sql);SQL 인젝션 공격에 취약하며, 매번 새롭게 SQL 구문을 컴파일하므로 성능이 떨어질 수 있다.문자열 결합형식을 취하기 때문에 동적 쿼리 사용시 작성의 불편함이 있다.  PreparedStatement ?로 표기하는 ..

Developer/JAVA 2024.10.30

JAVA , 인터페이스 , 인터페이스와 추상클래스의 차이

인터페이스란 ? 추상클래스의 추상메서드를 활용하는 것과 같이더 강력하게 추상만 넣어두어 규칙만 명시한것이라고 볼 수있다.클래스와 클래스를 연결하는 기법이고,서로 상속관계가 아닌 클래스들을 연관성 있게 다형성을 활용하여 체계성을 만들고 싶을때 사용한다.추상 메서드와 상수(리터럴 의무!) 만 올 수있다. interface의 특징1. 완전한 추상화 : 인터페이스는 기본적으로 모든 메서드가 추상 메서드이며 , 구현을 가질 수 없다.(Java 8 이후부터는 디폴트 메서드와 정적 메서드에 한해 구현을 가질 수 있다. 아래의 메서드 사용법 있음.)2. 상태없음 : 인스턴스 변수를 가질 수없다(단 , 상수는 가질 수 있다.)3. 다중 상속 지원 : 하나 이상의 인터페이스를 구현 할 수 있다.4. 구현 : 클래스가 인터..

Developer/JAVA 2024.10.28

JAVA , Exception의 직접 처리와 위임 처리 , 사용자 정의 Exception

1. 직접 처리 해당 메서드 내에서 try ~ catch 블럭 처리public static String readString1() { byte [] bf = new byte[100]; System.out.println("readString1 ) 문자를 입력하세요."); System.in.read(bf); //컴파일 오류 : Unhandled exception…} Java의 system.in.read()메서드는 입력 스트림에서 바이트를 읽어들이는 과정에서 다양한 예외가 발생할 수 있기 때문에 이를 처리할 필요가 있다. 입력 및 출력 작업 중에 발생하는 예외로, 스트림이 닫혔거나, 입출력 장치가 사용 불가능한 경우에 발생 → IOException즉 system.in.read 는 IOException 을 던질 ..

Developer/JAVA 2024.09.23

Java , 예외 처리 Exception , try-catch

자바의 예외처리 방식자바에서 발생 가능한 오류 상황을 예외 처리의 객체로 만들어 현재 관리되고 있는 것이다.필요하다면 , 그 오류에 대해서 대응하고 진행하는 방법에 대해 정의해 놓았다.그에 대한 구문이 try - catch - finallytry { // 예외가 발생할 수 있는 코드} catch (ExceptionType1 e1) { // ExceptionType1 예외를 처리하는 코드} catch (ExceptionType2 e2) { // ExceptionType2 예외를 처리하는 코드} finally { // 예외 발생 여부와 상관없이 항상 실행되는 코드}  예외 처리에 대한 중요성예외 처리는 프로그램의 안정성과 신뢰를 높이는데 중요하다.적절한 예외 처리는 예기치 않은 상황에서..

Developer/JAVA 2024.09.22

JAVA , 열거형 클래스 enum !

enum 의 개념열거형(enum) 타입을 정의하는 데 사용되는 특별한 클래스.여러 상수들을 하나의 타입으로 정의할 수 있도록 해준다.단순히 상수 집합을 표현하는 것이 아닌 클래스 처럼 동작하여 메서드 또는 필드를 가질 수 있어 더 강력한 기능을 제공한다. [✔️예시01_기본동작]public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY} Day today = Day.MONDAY;if (today == Day.MONDAY) { System.out.println("오늘은 월요일입니다.");}➡️의미를 가진 단어들을 상수로 사용하기 때문에 가독성은 물론 안정적으로 사용할 수 있다. enum 의 특징타입의 안전성 잘..

Developer/JAVA 2024.09.21

JAVA , 추상 클래스의 다형성 보기

매개변수를 활용하여 다형성을 보기 메인에서 사용할 메서드정의public static void animalUse(Animal animal) { animal.breath(); animal.sound();}인자로 animal 타입을 받게 된다면 사용할 수 있는 메서드이다. 메인에서의 위 메서드를 사용해보자.Animal cat1 = new Cat();Animal dog1 = new Dog();Cat cat2 = new Cat();animalUse(cat1);animalUse(cat2); //후손도 인자의 animal 타입에 적용 가능. // Animal animal = new Cat();animalUse(dog1);animalUse(new Dog()); 추상클래스의 타입의 배열로 인자 받기public stati..

Developer/JAVA 2024.08.08

JAVA , 추상 클래스

자바의 다형성을 이용한 클래스 다형성을 보다 체계적으로 더 잘 운영하기 위하여 추상이라는 개념이 나왔다.추상이란 규칙만 명시해놓은 것을 말한다.추상이 가능하냐 ? 라고 물어본다면 , 상속과 다형성이 가능하냐 ? 라는 뜻으로 보기도 한다.추상클래스는 타입으로 사용하는 조상의 개념이고 , 직접 생성할 수는 없고 자손을 통한 생성을 하게된다.다형성의 장점1 . 유연성 : 코드가 더 유연해지고 유지보수가 용이하다. 새로운 클래스나 메서드를 추가할 때 기존 코드를 거의 수정하지 않아도 된다.2. 재사용성 : 동일한 인터페이스를 사용하여 다양한 객체를 처리할 수 있어 코드의 재사용성이 높아진다.3. 가독성 : 코드를 읽고 이해하기 쉽게 만들어준다. 같은 메서드 이름을 사용하여 의미를 전달 할 수 있다. 추상 클래스..

Developer/JAVA 2024.08.08

JAVA , 클래스의 다형성, 타입 캐스팅(형변환) , 종단 클래스

상속 클래스의 구성할아버지 : Animal아버지 : Mammal나 : Pet우리가 일반적으로 사용할때 타입과 생성을 동일하게 사용했었다.Mammal ma1 = new Mammal(); //순수 Mammal 타입Pet pe1 = new Pet(); //순수 pet 타입  다형성 법칙1. 후손은 조상의 타입이 될 수 있다 = 상속관계는 같은 타입이 될 수 있다.2. 조상은 후손의 타입이 될 수 없다.타입 변수 = 생성 기본생성자 ;Animal a0 = new Animal(); → Animal 에 정의된것 만큼 접근 가능Animal a1 = new Pet(); → Animal 에 정의된것 만큼 접근 가능 타입으로 정의된 만큼 멤버들에게 접근이 가능함을 알 수 있다.정의된 멤버는 코드의 우측 만큼 접근이 된다...

Developer/JAVA 2024.08.07

JAVA , 상속관계 is-a

클래스를 상속하여 정의해보자  사용할 수 있는 멤버들 확인 가능하다. 추가로 멤버들과 , 생성자를 추가해보자.int turbo ;String option ; SportCar(){ System.out.println("====SportCar 기본 생성자");} SportCar(int turbo , String option){ this.turbo = turbo; this.option = option; System.out.println("====SportCar 현재 값 초기화 생성자");} tostring 도 함께 추가해 보자.@Overridepublic String toString() { // TODO Auto-generated method stub return super.toString() //super..

Developer/JAVA 2024.08.06
728x90