Backend/Java(20)
-
[JAVA] 자바 제네릭
자바에서 제네릭(Generics)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 객체별로 다른 타입의 자료가 저장될 수 있도록 한다. 자바에서 배열과 함께 자주 쓰이는 자료형이 리스트(List)인데, 다음과 같이 클래스 선언 문법에 꺾쇠 괄호 로 되어있는 코드 형태를 한번 쯤은 봤을 것이다. ArrayList list = new ArrayList();Copy 저 꺾쇠 괄호가 바로 제네릭이다. 괄호 안에는 타입명을 기재한다. 그러면 저 리스트 클래스 자료형의 타입은 String 타입으로 지정되어 문자열 데이터만 리스트에 적재할 수 있게 된다. 아래 그림과 같이 배열과 리스트의 선언문 형태를 비교해보면 이해하기 쉬울 것이다. 선언하는 키워드나 문법 순서가 다를뿐, 결국 자료형명을..
2024.04.19 -
[JAVA] 자바 예외처리
예외 처리란? (Exception Handling) 예외 처리는 코드 작성자가 예기치 않게 발생하는 에러들에 대응할 수 도록 사전에 방지하는 것이다. 예외 처리를 하면 프로그램의 비정상적인 종료를 방지하여 정상적인 실행 상태를 유지할 수 있다. 프로그램에서 에러가 발생하는 이유 에러가 발생하는 원인은 수없이 다양하다. 하지만 자주 발생하는 에러의 몇 가지 예시는 다음과 같다. 사용자의 입력 실수 네트워크 연결 끊김 메모리 공간 부족 개발자의 코드 실수 유효하지 않는 파일 사용 즉, 에러가 발생하는 원인은 크게 내부적인 요인과 외부적인 요인이 있다. 외부적인 요인에는 입력 에러, 하드웨어 문제, 네트워크 연결 에러 등이 있으며, 내부적인 요인으로는 개발자의 코드 작성에 있다. 여기서 중점적으로 파악해야 할..
2024.04.16 -
[JAVA] 자바 인터페이스
1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 조금 더 유식하게 말하면, 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다. 자 이게 무슨말인가? 바로 예시 들어간다. 교수님이 학생들에게 논문을 쓰라고 했다. A학생은 PPT로 논문을 11일날 제출했다. B학생은 EXCEL 2016 로 논문을 12일날 제출했다. C학생은 EXCEL 2019 로 자기만의 색깔을 입혀 표 형식으로 12일날 제출했다. D학생은 메모장..
2024.04.15 -
[JAVA] 자바 상속
부모가 자식에게 물려주듯, 객체들 간 관계에서 부모 클래스(상위 클래스)가 자식 클래스(하위 클래스)에 클래스의 멤버를 물려주는 관계가 있는데, 이를 상속(Inheritance)이라고 합니다. 다음과 같은 형식으로 상속을 표현합니다. public class 자식클래스 extends 부모클래스 { } 상속이 적용되기 위해서는 객체들 간 is a 관계가 성립해야 합니다. 또한, 자바는 단일 상속만 지원하므로 extends 뒤에 부모클래스는 한 개만 올 수 있습니다. 이렇게 상속 관계를 표현해 주면 부모 클래스의 멤버(인스턴스 변수, 메소드)를 자식 클래스가 선언 없이 사용할 수 있게 됩니다. 가장 상위에 있는 최상위 클래스는 Object 클래스입니다. 모든 클래스는 Object 클래스를 묵시적으로 상속받습니..
2024.04.15 -
[JAVA] JDBC 순서 7단계
JDBC = Java DataBase Connectivity. 즉, 자바와 데이터베이스를 연결 시켜주는 것을 의미한다. JDBC의 순서 (mySQL) 01단계 :드라이버 로딩(mysql 드라이버 로딩) 02단계 :Connection객체로 DB연결 03단계 :Query실행을 위한 준비 04단계 :Query실행 05단계 :Query실행결과 사용 06단계 :statement 또는 PreparedStatement객체 종료(close()) 07단계 :DB연결(Connection 객체) 종료(close()) // 01단계 :드라이버 로딩(mysql 드라이버 로딩) Class.forName("com.mysql.jdbc.Driver"); // 02단계 :Connection객체로 DB연결 // 1)ip 2)por..
2024.04.03 -
[JAVA] 자바 패키지
패키지 패키지란 서로 관련이 있는 클래스나 인터페이스의 모음이다. 패키지는 거대한 프로젝트에서 클래스 파일들을 효율적으로 관리하기 위해 존재한다. 패키지는 프로젝트에 포함되어 있고, 하나의 프로젝트 안에 여러 패키지를 생성할 수 있다. 예를 들어 음악 플레이어를 개발한다고 할 때, 다양한 분야의 클래스와 인터페이스가 필요하겠지만 크게 음악, 고객에 대한 클래스와 인터페이스가 필요하다고 생각해보자. 음악에 대해서는 music class, album class, play interface 등이 필요할 것이고, 고객에 대해서는 account class, playlist class, sign in interface 등이 필요할 것이다. 이 때, 음악과 고객에 대해 클래스와 인터페이스를 구분하여 따로 관리한다면 ..
2024.03.25