JAVA 17

Collection Framework

* Collection Framework? 객체들을 효율적으로 추가, 삭제. 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜놓은 것. 몇 가지 인터페이스를 통해서 다양한 컬렉션 클래스를 이용할 수 있도록 하고 있다. 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map 등이 있다. List, Set은 객체를 추가, 삭제, 검색하는 방법에 많은 공통점이 있기 때문에 이 인터페이스들의 공통된 메소드들만 모아 Collection 인터페이스로 정의해 두고 있다. Map은 키와 값을 하나의 쌍으로 묶어서 관리하는 구조로 되어 있어서, List 및 Set과는 사용 방법이 관전히 다르다. 인터페이스 분류 특징 구현 클래스 Collection List - 순서를..

JAVA 2021.07.05

Interface(인터페이스)

* Interface? 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높여주기 때문에 다형성을 구현하는 중요한 역할을 한다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 따라서 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 된다. -> 결합도 내려감 개발 코드가 직접 객체의 메소드를 호출하지 않고 중간에 인터페이스를 두는 이유는 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하기 위함이다. 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴 값이 다를 수 있다. 따라서 개발 코드 측면에서는 코드 변경 없이 실행 내용과 리턴 값을 다양화할 수 있다..

JAVA 2021.06.30

String과 StringBuilder 비교하기 (String vs StringBuilder)

* String? String은 문자열이다. java에서 string 객체는 불변이므로 생성된 후에는 변경할 수 없다. 객체이니까 heap 영역에 생성된다. java에서 문자열을 생성하는 방법에는 2가지가 있다. // no.1 String s =“GeeksforGeeks”; // no.2 String s = new String ( "GeeksforGeeks"); string은 불변의 성격을 가지고 있으므로 + 연산자를 사용하게 되면 기존의 문자열이 가지고 있는 메모리에 +로 추가하는 새 문자열을 추가하는 것이 아니라, 새로 메모리를 할당받아 새 string을 만들게 된다. String str = "Don"; str += "John"; // 이렇게 되면 1번 라인 기존의 str이 가지고 있던 메모리에 jo..

JAVA 2021.06.21

메모리 구조(Stack, Heap)

* Stack area? 함수의 호출과 관계되는 지역 변수와 매개 변수가 저장되는 영역이다. 스택은 함수의 호출과 동시에 할당된다. 함수 호출이 완료되면 알아서 소멸한다. 기본 타입(정수타입(byte, char, short, int), 실수타입(float, double), 논리타입(boolean))등이 스택 공간에 저장된다. 크기가 정해져 있는 타입이고 메모리 할당시 시 컴파일할 때 계산이 이루어진다. 해당 메소드가 종료되면 메모리가 해제된다. * Heap area? Heap 메모리 영역과 관련 있는 단어 - 동적 메모리 할당/메모리 동적 할당 (컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 할당하는 것. 해당 메모리의 사용이 끝나면 반납하고 다시 필요하면 재할당받는다. 동적으로 할당된 메모..

JAVA 2021.06.20

JDBC: executeQuery VS excuteUpdate

execute: 어떤 타입의 SQL 문장이든 사용할 수 있으며 boolean 타입의 결과값을 리턴한다. 만약 true가 리턴되었다면 getResultSet으로 결과 값을 받을 수 있으며 false가 리턴되었다면 그 쿼리가 int 값 또는 void를 리턴할 때이다. select와 insert/update 등 모두 사용할 수 있다. boolean execute(String sql) throws SQLException Executes the given SQL statement, which may return multiple results. In some (uncommon) situations, a single SQL statement may return multiple result sets and/or upd..

JAVA 2021.04.25

상속(Inheritance)

상속이란 부모 클래스(또는 상위 클래스) 가 자식 클래스(또는 하위 클래스 / 파생 클래스) 에게 자신의 필드와 메소드를 사용할 수 있게끔 물려주는 것이다. 예를 들어 int age라는 필드와 eat()이라는 메소드를 가진 animal 클래스를 dog 클래스가 상속 받았다면, dog 클래스에서도 age라는 필드와 eat()이라는 메소드를 사용할 수 있다. 거기에 dog클래스는 성별을 나타내는 sex 필드와, bark() 메소드 등 추가로 자기 자신만의 필드와 메소드를 가질 수 있다. 이 때 상속을 나타내려고 extends 라는 용어를 사용한다. 위의 예시대로라면 public void Dog extends Animal이 되겠다. 참고로 자바는 다중상속을 지원하지 않고 단일 상속만을 지원한다. 다중상속 =>..

JAVA 2021.01.29

1. 자바 시작하기

자바의 간단한 소개와 특징을 살펴보자. 1. 자바란? 자바는 썬마이크로시스템즈에서 발표한 프로그래밍 언어이다. 현재 (2021년 1월) 전세계에서 2번째로 많이 사용되는 언어로 굉장히 성공한 언어이다. 굉장히 성공한 언어임에는 틀림없는데 자바의 특징에는 무엇이 있을까? 1. 이식성이 높은 언어이다 (플랫폼 독립적이다) Write once, run anywhere. -JAVA- 이 말을 이해하기 위해선 프로그래밍 언어가 수행되는 과정을 알아야 한다. 우선 프로그래밍 언어는 고급 언어와 저급 언어로 구분지을 수 있다. 고급 언어는 컴퓨터와 대화할 수 있도록 사람이 만든 언어로 쉽게 이해할 수 있다. 저급 언어는 어셈블리어 같은 기계어(컴퓨터가 이해할 수 있게끔 0과 1로 이루어져 있음)에 가까운 언어이다. ..

JAVA 2021.01.29