Programming/Java
-
서론 처음으로 배웠던 언어가 C와 C++이였고 이때, 클래스와 상속의 중요함은 너무나 많이 들었기에 잊을 수가 없다. 그래서 언어 스터디를 하면서도 상속부분까지는 복습하는 느낌으로 진행했고 실제로도 딱히 막히는 부분은 없었다. 하지만 익숙함을 경계해야 한다고, 쉽게 놓칠 수 있는 부분등과 함께 상속을 짧게 나마 정리해보고자 한다. 상속 객체 지향 프로그래밍(OOP)에서 상속은 객체들 간의 관계를 구축하는 방법이다. 설명만 들었을 때는 쉽게 와닿지 않는 것이 상속이다. 하지만 실제로 코드로 구현해보면 어렵지 않다. 아래 예시를 보자. public class Person{ String name; int age; public void speak(){ ... } public void walk(){ ... } ...
[JAVA] 상속서론 처음으로 배웠던 언어가 C와 C++이였고 이때, 클래스와 상속의 중요함은 너무나 많이 들었기에 잊을 수가 없다. 그래서 언어 스터디를 하면서도 상속부분까지는 복습하는 느낌으로 진행했고 실제로도 딱히 막히는 부분은 없었다. 하지만 익숙함을 경계해야 한다고, 쉽게 놓칠 수 있는 부분등과 함께 상속을 짧게 나마 정리해보고자 한다. 상속 객체 지향 프로그래밍(OOP)에서 상속은 객체들 간의 관계를 구축하는 방법이다. 설명만 들었을 때는 쉽게 와닿지 않는 것이 상속이다. 하지만 실제로 코드로 구현해보면 어렵지 않다. 아래 예시를 보자. public class Person{ String name; int age; public void speak(){ ... } public void walk(){ ... } ...
2022.12.08 -
현재 Java 공부와 Spring 공부를 함께 진행하고 있다. 며칠 전 Java의 static에 관해서 학습했었고 클래스에서 static을 사용했을 때의 특징을 기억하고 있었다. 오늘 Spring을 학습하면서 DTO를 생성했고 DTO를 정리하기 위해서 하나의 클래스 내에 클래스가 존재하는 내부 클래스로 DTO를 관리했다. 이 때, 내부 클래스의 접근 제한자를 강의 자료를 참고해 public static으로 설정했다. 막상 적고 보니 아래의 두가지 의문이 생겼다. 1. static이면 인스턴스를 생성했을 때 메모리에 하나만 올라가고 이것을 공유하는 것인가? 2. 그럼 다양한 사용자가 동일한 DTO를 사용하는 API를 호출하면 하나의 인스턴스를 활용하기 때문에 잘못된 것이 아닌가? 이런 의문을 해소하기 위해..
[Java] 내부(inner) 정적 클래스현재 Java 공부와 Spring 공부를 함께 진행하고 있다. 며칠 전 Java의 static에 관해서 학습했었고 클래스에서 static을 사용했을 때의 특징을 기억하고 있었다. 오늘 Spring을 학습하면서 DTO를 생성했고 DTO를 정리하기 위해서 하나의 클래스 내에 클래스가 존재하는 내부 클래스로 DTO를 관리했다. 이 때, 내부 클래스의 접근 제한자를 강의 자료를 참고해 public static으로 설정했다. 막상 적고 보니 아래의 두가지 의문이 생겼다. 1. static이면 인스턴스를 생성했을 때 메모리에 하나만 올라가고 이것을 공유하는 것인가? 2. 그럼 다양한 사용자가 동일한 DTO를 사용하는 API를 호출하면 하나의 인스턴스를 활용하기 때문에 잘못된 것이 아닌가? 이런 의문을 해소하기 위해..
2022.11.30 -
C, C++을 배울때는 배열에 익숙해져있다가 이후로 리스트만을 사용하는 Python을 주로 사용했다보니 배열과 리스트가 동시에 존재하는 Java에서 혼동이 왔었다. 배열인지 리스트인지에 따라 정렬하는 방법들이 상이했고 같은 리스트에서도 정렬하는 방법들이 몇가지 존재했었다. 배열이 무엇이고, 리스트가 무엇인지보단 각각의 클래스들이 제공하는 함수가 무엇이 있는지 확인하고 공부해보고자 한다. 1. Arrays imoprt java.util.Arrays; Arrays는 java.util 패키지 내에 존재한다. 위 코드를 통해 import 할 수 있다. Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있다. 항목 정렬, 항목 검색, 항목 비교 등의 기능을 가진 메소드를 제공한다. Arrays ..
[Java] ArraysC, C++을 배울때는 배열에 익숙해져있다가 이후로 리스트만을 사용하는 Python을 주로 사용했다보니 배열과 리스트가 동시에 존재하는 Java에서 혼동이 왔었다. 배열인지 리스트인지에 따라 정렬하는 방법들이 상이했고 같은 리스트에서도 정렬하는 방법들이 몇가지 존재했었다. 배열이 무엇이고, 리스트가 무엇인지보단 각각의 클래스들이 제공하는 함수가 무엇이 있는지 확인하고 공부해보고자 한다. 1. Arrays imoprt java.util.Arrays; Arrays는 java.util 패키지 내에 존재한다. 위 코드를 통해 import 할 수 있다. Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있다. 항목 정렬, 항목 검색, 항목 비교 등의 기능을 가진 메소드를 제공한다. Arrays ..
2022.11.25 -
Java의 배열과 리스트를 공부하던 중, Collections가 지속적으로 나와서 이건 어떤 클래스일까? 라는 궁금증에서 공부가 시작되었다. 자료들을 찾다보니 기존에 사용했던 Collections는 '클래스'였다. 하지만 Collection이라는 개념도 존재했고 혼동해서 사용할 가능성이 있어 확실히 알고 가고자 한다. 1. Collection 자바에서 컬렉션(Collection)은 컬렉션 프레임워크(Collection framework)를 의미한다. 그럼 Collection framework란 무엇일까? 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것을 의미한..
[Java] Collections, CollectionJava의 배열과 리스트를 공부하던 중, Collections가 지속적으로 나와서 이건 어떤 클래스일까? 라는 궁금증에서 공부가 시작되었다. 자료들을 찾다보니 기존에 사용했던 Collections는 '클래스'였다. 하지만 Collection이라는 개념도 존재했고 혼동해서 사용할 가능성이 있어 확실히 알고 가고자 한다. 1. Collection 자바에서 컬렉션(Collection)은 컬렉션 프레임워크(Collection framework)를 의미한다. 그럼 Collection framework란 무엇일까? 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것을 의미한..
2022.11.25