Programming의 세계/JAVA(4)
-
[JAVA] 자바 입문자용 인터페이스(Interface)의 이해
인터페이스를 쓰는 이유는 예를 들어 회사에서 어떤 코드를 만들어야하는데 이 코드를 꼭 써라!!!! 할때 지정해주는 게 인터페이스다. 위키백과 정의를 보면 인터페이스는 자바 프로그래밍 언어에서 클래스들이 구현해야 하는 동작을 지정하는데 사용되는 추상 자료형. 이라고 정의되어 있다. 특징은 인터페이스의 바디에 추상매서드를 포함하고 있지만 인터페이스 내의 모든 메소드들이 정의상 추상적이기 때문에 abstract 키워드가 필요하지 않다. 인터페이스는 노출된 행동들의 집합을 규정하므로 모든 메소드들은 암묵적으로 public이다. 추상매서드에 대해서는 다음에 자세히 알아보도록 하고, 인터페이스가 어떻게 구현되는지 확인해보겠다. 인터페이스 (자바) - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 인터..
2022.06.20 -
[JAVA] 싱글턴(Singleton) 패턴이란?(feat. 디자인 패턴)
싱글턴 패턴을 말하기 앞서 디자인 패턴에 대해 알아야 한다. 디자인패턴이란? 디자인이라 하면 보통 심미적이거나 이쁜 모형, 예술을 생각이 먼저 나겠지만 코딩 세상에서는 특정 맥락에서 자주 발생하는 고질적인 문제들이 발생했을 때 재사용할 수 있는 훌륭한 코드디자인 혹은 방법을 말하는 것이다. (훌륭한 코드가 멋지고 이뻐 보여서 그런가...) 그리고 패턴이란 각기 다른 소프트웨어 모듈이나 기능을 가진 다양한 응용 소프트웨어 시스템들을 개발할 때도 설계과정에서 이를 처리하는 해결책 사이에 공통점들을 말한다. 일맥상통하는 구간이라고 생각하면 될 것 같다. 디자인패턴의 종류 GoF 디자인 패턴의 분류 생성(Creational) 패턴 구조(Structural) 패턴 행위(Behavioral) 패턴 추상 팩토리(Ab..
2022.06.14 -
[JAVA] split vs StringTokenizer
StringTokenizer 클래스란? 문자열이 특정 구분자(delimeter)로 연결되어 있을 경우, 구분자를 기준으로 부분 문자열을 분리하기 위해서는 String의 split() 메소드를 이용하거나 java.util 패키지의 StringTokenizer 클래스를 이용할 수 있다. StringTokenizer는 한 종류의 구분자로 연결되어 있을 경우, 사용이 편리하다는 장점이 있다. StringTokenizer 사용방법 관련 클래스 임포트를 해야 작동한다. import java.util.StringTokenizer; 1) 선언 StringTokenizer st = new StringTokenizer("문자열", "구분자"); 2) 문자 나누며 꺼내기 2-1) 전체 토큰 수를 얻어 for문으로 loopi..
2022.06.09 -
[JAVA] BufferedReader/ BufferedWriter/ StringBuilder
일단 왜??? 굳이 코드 복잡한 이런 아이들을 사용하는 이유 : 1. 메모리 초과 문제 2. 속도 지연 문제 String은 불변객체이다. String에 대한 설명을 보면 String의 값은 생성하면 변경 불가하다는 것을 알 수 있다. 그럼 그동안 + 하면서 만들던 것은 다 뭐였지????? String greeting = "hello"; System.out.println(greeting.hashCode()); greeting = "hello" + "!!!!!"; System.out.println(greeting.hashCode()); greeting = "hello" + "oo"; System.out.println(greeting.hashCode()); 같은 변수 greeting이지만 이들이 다 다른 ha..
2022.06.09