Java
결국은 Call by Reference가 아닌 Call by Value
결국은 Call by Reference가 아닌 Call by Value
2023.01.17프로그래밍 언어를 배우면 Call by Reference와 Call by Value에 대한 내용이 나옵니다. 최근에 이 부분에 대한 오해(?)가 있었는데 이를 해소하면서 배운 점들을 블로그에 정리해보고자 합니다. 📌 Call by Reference? public class CallByReferenceAndValue { static void changeObjectValue(Person target) { target.setName("changed"); } public static void main(String[] args) { Person person = new Person(); person.setName("hello"); System.out.println("before method - Person name..
[Collection] ArrayList 특징 (add할 때의 내부동작)
[Collection] ArrayList 특징 (add할 때의 내부동작)
2021.07.25Overview ArrayList의 add 과정 DEFAULT_CAPACITY를 넘겼을 때 ArrayList는 copy의 문제를 가지고 있다. ArrayList는 어떻게 사용해야될까 정리 📌 Overview ArrayList하면 코딩테스트나 실제 개발에 가장 많이 쓰이는 Collection Framework이지 않을까 생각합니다.그만큼 가장 기본적이면서도 아주아주 중요한 클래스이기 때문에 ArrayList의 내부 동작을 중점으로 특징을 한번 정리해보고자 합니다. ArrayList에 대한 메서드나 어떤 클래스 계층구조를 가졌는지에 대해서는 잘 정리된 블로그 글들이 많기 때문에 이에 대한 설명은 줄이고 내부적으로 어떤 동작을 하는지에 초점을 맞추었습니다. 📌 ArrayList의 add 과정 public vo..
[Java] JDBC - DAO와 DTO에 대한 내용
[Java] JDBC - DAO와 DTO에 대한 내용
2019.12.18지난번에는 JDBC 연결과 함께 기본적인 SQL문을 날리는 방법에 대해서 정리해보았습니다. 지난 시간에 이어서 이번에는 JDBC를 더욱 효율적으로 작동하게 만드는 DAO와 DTO에 대해서 정리해보고자 합니다. 혹시 지난 JDBC의 기본에 대한 정리글을 아직 못보신 분들이라면 [Java] JDBC를 통한 database 접근(MariaDB) 링크를 클릭하셔서 먼저 보시고 이번 게시글을 보시는 것을 추천합니다! 한번 시작해볼까요? [Java] JDBC를 통한 database 접근(MariaDB) Java는 정말 다양한 기능을 수행할 수 있다는 장점이 있는데 JDBC도 그 중 하나다. JDBC(Java Database Connectivity)는 자바가 DB에 접근해서 데이터를 처리할 수 있도록 연결해주는 인터..
[Java] JDBC를 통한 database 접근(MariaDB)
[Java] JDBC를 통한 database 접근(MariaDB)
2019.12.12Java는 정말 다양한 기능을 수행할 수 있다는 장점이 있는데 JDBC도 그 중 하나다. JDBC(Java Database Connectivity)는 자바가 DB에 접근해서 데이터를 처리할 수 있도록 연결해주는 인터페이스라고 할 수 있다. 정확히는 자바에서 인터페이스만 제공하고 MS-SQL, MySQL, MariaDB, DB2 등 각 DB에서 자바 인터페이스에 따라 JDBC 드라이버를 만든 것이다. 우리는 각 DB를 선택해서 해당하는 드라이버를 사용해 JDBC를 이용하기만 하면 된다. 연결 방법 본인은 MariaDB를 연동할 것이기 때문에 MariaDB driver를 이용해야 한다. 1. MariaDB JDBC driver 다운 받기 https://mariadb.com/downloads/#connecto..
[Java] Static과 관련해서 더 자세히 알아보자
[Java] Static과 관련해서 더 자세히 알아보자
2019.12.10지난번에 접근한정자 파트에서 Static과 관련한 내용을 다룬적이 있었다. - 다시한번 정리하자면1) 클래스 내에 static 변수(메서드)를 사용하면 클래스 변수(메서드)라 하고 클래스를 통해 생성되는 모든 객체들이 이 변수값을 공유한다.2) 모든 객체들이 공유하는 만큼 객체이름을 통해 해당 static 변수(메서드)에 접근가능하지만 클래스 이름을 통해서 접근할 것을 권장한다.3) static 초기화는 단 한번만 작동하며, static 블럭 안에는 static 변수(메서드)만 가능하며 객체가 생성되기도 전에 가장 먼저 실행된다. 혹시 이해가 안가는 부분이 있으면 [Java] Access Modifier - 접근한정자에 대한 공부를 참고하면 좋을 것 같다. 이번 시간에는 Static에 대해 좀 더 자세히..
[Java] IO 입출력(Stream)에 대한 공부
[Java] IO 입출력(Stream)에 대한 공부
2019.12.05Java에서 중요한 부분중에 하나인 IO 입출력 관련해서 공부한 내용을 정리해보고자 한다. 자바에서 입력, 출력으로 나눠서 설명하자면 ≫ 입력 : 파일, 키보드, 네트워크 (소스 / Source라고도 한다.) ≫ 출력 : 파일, 모니터, 네트워크 (목적지 / Destination이라고도 한다.) 이렇게 나눌 수 있다. 각각에 대해 입출력을 작동시키기 위해 알맞는 Stream을 사용해 수행해야 한다. Stream은 자바 애플리케이션이 입력과 출력을 수행하도록 도와준다. 소스에서 자바 애플리케이션으로 데이터를 읽어 들이는 것을 InputStream이라고 하고, 자바 애플리케이션에서 목적지로 데이터를 출력시키는 작업을 OutputStream이라고 한다. 이것들이 어떤 용도로 어떻게 쓰이는지 알아보자. 여러가지..