Java 14

JAVA, JSP 면접질문 정리

JAVA 장점, 단점 1. JVM에서 동작하기 때문에, 운영체제가 독립적이다. 2. 자동으로 메모리 관리를 해준다. #JVM(Java Virtual Machine) - 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행한다. - 메모리관리, Garbage Collection - 스택기반의 가상머신이다. - 왜 JVM을 알아야 하는가? * 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위해 자바프로그램 실행과정 1. 프로그램이 실행되면 JVM은 OS로부터 이 프로그램에 필요로 하는 메모리를 할당 받는다. JVM은 이 메로리를 용도에 따라 여러 영역으로 나누어 관리한다. 2. 자바컴파일러(javac)가 자바 소스코드(.java)를 읽어들여 자바 바이트코드(.class)로 변환..

Java 2021.06.26

자바 2일차 JDBC Driver Manager 를 통한 mysql 연동

JDBC 드라이버를 로드 Class.forName("oracle.jdbc.driver.OracleDrver"); DBMS에 커넥션(Connection : 네트워크 연결) Connection conn = DriverManager.getConnection( JDBC_URL, db_user, db_passwd); SQL을 전송 Connection 객체의 createStatement()을 이용해서 Statement 객체 얻기 Statement stat = conn.createStatement(); ResultSet 객체의 executeQuery()나 executeUpdate()를 이용해서 SQL문을 DB에 전송 ResultSet rs = stat.executeQuery( SQL - 사용 SQL이 Select인 ..

Java 2021.04.04

MVC1 , MVC2

MVC1 웹브라우저 요청을 JSP가 처리, JSP가 Controller와 view 기능 모두 담당합니다. 쉽게 말씀드리면, 하나의 jsp페이지 내에서 controller는 자바, view는 html, css 이벤트는 자바스크립트를 사용합니다. Model은 jdbc 인터페이스로 DB 조작하면서 class를 정의합니다. 장점 페이지 흐름이 단순하고 구조가 간단하여 중소형 프로젝트에 적합합니다. 단점 유지보수가 어려워서 웹 규모가 커질수록 복잡해집니다. 개발자와 디자이너 역할 분담이 어려워서 원할한 의사소통이 필수입니다. 규모가 작고 유지보수 적은 경우 채택이 필요합니다. MVC2 웹 브라우저 요청을 controller에서 처리합니다. controller는 요청에 대한 로직처리를 model로 보내고, mode..

Java 2021.04.03

10. List

List 컬렉션 클래스 List 인터페이스를 구현한 모든 List 컬렉션 클래스는 다음과 같은 특징을 가집니다. 1. 요소의 저장 순서가 유지됩니다. 2. 같은 요소의 중복 저장을 허용합니다. 대표적인 List 컬렉션 클래스에 속하는 클래스는 다음과 같습니다. 1. ArrayList 2. LinkedList 3. Vector 4. Stack ArrayList 클래스 ArrayList 클래스는 가장 많이 사용되는 컬렉션 클래스 중 하나입니다. JDK 1.2부터 제공된 ArrayList 클래스는 내부적으로 배열을 이용하여 요소를 저장합니다. ArrayList 클래스는 배열을 이용하기 때문에 인덱스를 이용해 배열 요소에 빠르게 접근할 수 있습니다. 하지만 배열은 크기를 변경할 수 없는 인스턴스이므로, 크기를 ..

Java 2020.12.26

9. 컬렉션

컬렉션 프레임워크(collection framework)란? 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됩니다. 컬렉션 프레임워크 주요 인터페이스 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있습니다. 1. List 인터페이스 2. Set 인터페이스 3. Map 인터페이스 이 중에서 List와 Set 인터페이스는 모두 Collecti..

Java 2020.12.26

8. 제네릭

제네릭(generic)이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법입니다. 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가집니다. 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했습니다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해..

Java 2020.12.26

7. 인터페이스

인터페이스(interface)란? 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것입니다. 하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않습니다. 하지만 다중 상속의 이점을 버릴 수는 없기에 자바에서는 인터페이스라는 것을 통해 다중 상속을 지원하고 있습니다. 인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미합니다. 자바에서 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할 수 있습니다. 하지만 인터페이스(..

Java 2020.12.26

6. 접근제어자

접근 제어자(access modifier) 객체 지향에서 정보 은닉(data hiding)이란 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념입니다. 그렇게 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 됩니다. 자바에서는 이러한 정보 은닉을 위해 접근 제어자(access modifier)라는 기능을 제공하고 있습니다. 접근 제어자를 사용하면 클래스 외부에서의 직접적인 접근을 허용하지 않는 멤버를 설정하여 정보 은닉을 구체화할 수 있습니다. 자바에서는 다음과 같은 네 가지의 접근 제어자를 제공합니다. 1. private 2. public 3. default 4. protected private 접근 제어자 private 접근 제어자를 사용하여 선언된 ..

Java 2020.12.26

5. 클래스 개념

객체 지향 프로그래밍(OOP, Object-Oriented Programming) 객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이 됩니다. 객체(object)란 간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있습니다. 이러한 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍입니다. 이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 합니다. 클래스(class) 자바에서 클래스(class)란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용됩니다. 자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 됩니다. 클래..

Java 2020.12.26