목록Backend/Java (34)
도도한 개발자
* String 값을 바꾸는 메소드 String API 설명의 마지막으로, String 값을 바꾸는 메소드를 살펴보자. 문자열의 값을 바꾸고 변환하는 메소드도 다음과 같이 구분할 수 있다. · 문자열을 합치는 메소드와 공백을 없애는 메소드 · 내용을 교체(replace)하는 메소드 · 특정 형식에 맞춰 값을 치환하는 메소드 · 대소문자를 바꾸는 메소드 · 기본 자료형을 문자열로 변환하는 메소드 ** 문자열을 합치는 메소드와 공백을 없애는 메소드 리턴 타입 메소드 이름 및 매개 변수 설명 String concat(String str) 매개 변수로 받은 str을 기존 문자열의 우측에 붙인 새로운 문자열 객체를 생성하여 리턴한다. String trim() 문자열의 맨 앞과 맨 뒤에 있는 공백들을 제거한 문자열..
* String내에서 위치 찾기 리턴 타입 메소드 이름 및 매개 변수 int indexOf(int ch) indexOf(int ch, int fromIndex) indexOf(String str) indexOf(String str, int fromIndex) lastIndexOf(int ch) lastIndexOf(int ch, int fromIndex) lastIndexOf(String str) lastIndexOf(String str, int fromIndex) indexOf() 메소드는 String 클래스의 가장 많이 사용되는 메소드 중 하나다. · indexOf() 는 앞에서부터(가장 왼쪽부터) 문자열이나 char를 찾으며, · lastIndexOf()는 뒤에서부터(가장 오른쪽부터) 찾는다. * ..
* 객체의 null 체크 모든 객체를 처리할 때엔 널 체크를 반드시 해야 한다. 객체가 널이라는 것은 객체가 아무런 초기화가 되어 있지 않으며, 클래스에 선언되어 있는 어떤 메소드도 사용할 수 없다는 것을 의미한다. 그리고 널인 객체의 메소드를 호출하는 순간 예외를 발생시킨다. 널체크 하는 소스를 보자. public class StringNull { public static void main(String[] args) { StringNull sample = new StringNull(); sample.nullCheck(null); } public boolean nullCheck(String text) { int textLength = text.length(); System.out.println(textL..
* String 클래스 클래스 중에서 더하기 연산을 제공하는 클래스는 String 밖에 없다. 객체에 더하기는 그럼 어떻게 된 걸까? 객체에 더하기를 하면 toString() 메소드가 호출되고 그 결과를 더하는 것이다. String 클래스가 어떻게 선언되어 있는지 보자. public final class String extends Object implements Serializable, Comparable, CharSequence implements라고 적어준 뒤 인터페이스들을 나열하면 해당 인터페이스에 선언된 메소드를 이 클래스에서 구현한다는 의미다. 하지만 Serializable 인터페이스는 구현해야 하는 메소드가 하나도 없는 특이한 인터페이스다. 이를 구현한다고 선언해 놓으면, 해당 객체를 파일로 ..
자바에서는 예외적인 일 발생하게 되면 "예외" 라는 것을 던져버린다. null인 객체에 메소들르 호출한다든디, 5개의 공간을 가지는 배열을 만들고 6번째 값을 불러온다든지, 어떤 파일을 읽으라고 했는데 읽을 파일이 존재하지 않는다든지, 네트워크 연결이 되어 있는 어떤 서버가 갑자기 작동을 멈춰서 연결이 끊겨버린다는지 하는 경우가 여기에 속한다. * try-catch 배열 범위 밖의 값을 읽으려고 할 때를 살펴보자. public class ExceptionSample { public static void main(String[] args) { ExceptionSample sample = new ExceptionSample(); sample.arrayOutOfBounds(); } public void arr..
* 방법론 어떤 시스템을 개발하든 간에 "방법론"이라는 것을 사용하여 개발한다. 방법론이라는 것은 시스템을 어떻게 만들 것인지에 대한 절차를 설명하고, 어떤 문서(=산출물)를 작성해야 하는지는 정리해놓은 공동 절차라고 보면 된다. 일반적인 절차는 다음과 같이 네 단계로 이루어져 있다. · 분석 · 설계 · 개발 및 테스트 · 시스템 릴리즈 각 단계에 대해 간단히 알아보자. ** 분석 시스템을 분석하는 단계에서는, 시스템을 만들어달라고 한 사람들(SI에서는 고객, SM에서는 현업)에게 어떻게 개발하기를 원하는지 물어본다. 이러한 일련의 과정을 요구사항 분석이라고 한다. ** 설계 설계 단계에서는 분석 단계에서 만든 대략적인 그림을 프로그램으로 만들 수 있도록 설계하는 작업을 수행한다. 어떤 메소드를 만들 ..
* 모든 자바 클래스의 부모인 java.lang.Object 자바에선 기본적으로 이무런 상속을 받지 않으면 java.lang.Object 클래스를 확장한다. 확장하는지 안하는지를 확인하고자 하면 그 클래스에 있는 메소드를 사용하면 된다. public class C { public static void main(String[] args) { C c = new C(); System.out.println(object.toString());// @ } } C 클래스에는 main() 메소드 외에는 선언되어 잇는 메소드가 없다. 그런데 toString() 메소드가 호출된 것을 볼 수 있는데 컴파일이나 실행에도 전혀 문제가 없다. 자바는 한번에 이중 상속을 받을 수는 없지만 여러 단계로 상속을 받을 수는 있다. 부모..
API는 Appilication Programming Interface의 약자로, 애플리케이션에 선언되어 있는 클래스와 메소드에 대한 상세한 설명이 포함된 문서를 말한다. 자바의 API는 HTML로 구성되어 있는데 JDK docs를 다운받으면 docs > api안에 index.html 파일이 있다. 이 파일을 더블클릭하면 다음과 같은 화면이 나온다. 개발할 때 API는 단지 문서가 아니라 친구처럼 친하게 지내야 한다고 한다. * 실습 java.math 패키지의 BigDecimal 클래스의 API를 열어보자. 1. BigDecimal 클래스의 용도가 무엇인지 확인해보자. · BigDecimal은 Java 언어에서 숫자를 정밀하게 저장하고 표현할 수 있는 유일한 방법이다. · 소수점을 저장할 수 있는, 크기..