JAVA: 282개의 글
실행 1. 코드우선 코드에 대해서 알아보자. 코드(code) 혹은 소스(source)는 프로그램이 어떤 모습이고, 어떻게 동작해야 하는가를 표현한 일종의 설계도라고 할 수 있다. 그런데 컴퓨터 프로그래밍에서의 설계도는 설계도 이상의 의미가 있다. 설계도를 컴퓨터에게 제출하는 순간 컴퓨터는 그 설계도에서 요구하는 프로그램을 마법처럼 만들어주기 때문이다. 그래서 프로그래밍에서의 설계도는 그 프로그램 자체라고도 할 수 있다. 코드는 자바의 문법에 맞게 만들어진 텍스트 파일이고, 이 파일의 확장자는 .java를 사용한다. 아래와 같이 파일을 만들어보자. 코드를 만드는 데는 복잡한 프로그램이 필요 없다. 가장 간단한 에디터인 메모장(win)이나 텍스트에디터(mac)로도 코드를 만들 수 있다. 적당한 디렉터리를 만..
Java SE, JDK, JRE - Java SE(Java Platform, Standard Edition)는 자바의 표준안이다. 자바라는 언어가 어떠한 문법적인 구성을 가졌는지와 같은 것들을 정의하고 있다. 이것은 구체적인 소프트웨어가 아니고 그 소프트웨어의 설계도라고 할 수 있다. 소프트웨어에서는 설계도라는 표현 대신에 명세서(spec, specification)이라는 말을 사용한다. 이 명세서에 따라서 Java가 만들어지게 된다. Java SE 7은 버전 7에 대한 명세서이다. 자바는 계속 진화하고 있는 기술이다. 이 명세서는 JCP(Java Community Process, http://jcp.org)라는 조직을 통해서 만들어진다. - JDK(Java Development Kit)는 Java SE..
public static void main(String[] args) - 메인 메서드는 진입점(Entry Point)을 뜻한다. 그러므로 메인 메서드의 접근자는 항상 public 이어야 한다. --> public - 메인 메서드는 항상 정적이어야 한다. 클래스는 메모리에 로딩된 다음에 사용이 가능하다. static이 붙은 클래스나 메서드, 변수는 컴파일시 자동으로 로딩된다. 메인 메서드는 클래스 로딩 없이 호출할 수 있어야 한다. 그렇기 때문에 static을 사용한다. --> static - void는 리턴타입이 없다는 뜻이다. 메인 메서드는 Entry Point이면서 프로그램의 끝이기도 하다. 메인으로 시작해서 메인이 끝나면 그 프로그램도 끝이다. 그러므로 리턴하는 값 자체가 불필요하다. 프로그램이 끝..
- org.apache.commons.lang3.StringUtils ==================== Substring * StringUtils.substring(String str, int start)- str의 문자열을 start 위치부터 출력한다.- 음수는 뒤에서부터 출력한다.- str이 null이면 return값은 null이다. StringUtils.substring(null, *) = nullStringUtils.substring("", *) = ""StringUtils.substring("abc", 0) = "abc"StringUtils.substring("abc", 2) = "c"StringUtils.substring("abc", 4) = ""StringUtils.substring("a..
- org.apache.commons.lang3.StringUtils ==================== Contains * StringUtils.contains(CharSequence seq, int searchChar)- seq 문자열 중 searchChar의 문자가 포함되어 있으면 true를 리턴한다. StringUtils.contains(null, *) = false StringUtils.contains(*, null) = false StringUtils.contains("abc", 'a') = true StringUtils.contains("abc", 'z') = false * StringUtils.contains(CharSequence seq, CharSequence searchSeq)- s..
- org.apache.commons.lang3.StringUtils ==================== Stripping * StringUtils.strip(String str)- StringUtils.trim과 동일 StringUtils.strip(null) = null StringUtils.strip("") = "" StringUtils.strip(" ") = "" StringUtils.strip("str") = "str" StringUtils.strip("str ") = "str" StringUtils.strip(" str ") = "str" StringUtils.strip(" st r ") = "st r" * StringUtils.stripToNull(String str)- StringUtil..
- org.apache.commons.lang3.StringUtils ==================== Trim * StringUtils.trim(String str)- 문자열 앞 뒤에 공백을 제거해준다.- str이 null이면 null 값을 반환한다. StringUtils.trim(null) = null StringUtils.trim("") = "" StringUtils.trim(" ") = "" StringUtils.trim("str") = "str" StringUtils.trim(" str ") = "str" StringUtils.trim(" te s t ") = "te s t" * StringUtils.trimToNull(String str)- str이 null이나 공백문자(""), White..
String 문자열에 대해 Apache에서 제공하는 라이브러리를 사용하면 null exception을 방지하여 사용할 수 있습니다. - org.apache.commons.lang3.StringUtils ==================== Empty * StringUtils.isEmpty(CharSequence cs)- 값이 null인지 공백문자("")이면 true 값을 반환한다. StringUtils.isEmpty(null) : true StringUtils.isEmpty("") : true StringUtils.isEmpty(" ") : false StringUtils.isEmpty("str") : false StringUtils.isEmpty(" str ") : false * StringUtils...
랜덤 문자열을 만들때 Apache Commons Lang 3.7 라이브러리를 사용하면 간편하게 만들 수 있습니다. 다운로드는 https://commons.apache.org/proper/commons-lang/download_lang.cgi 이곳에서 원하는 형식으로 받아주면 됩니다. - org.apache.commons.lang3.RandomStringUtils * RandomStringUtils.random(count)- 임의의 문자를 count만큼 랜덤으로 생성해준다.- count : 문자열 길이 RandomStringUtils.random(20) : 김ꥮ𩲻ꘅ𪮜롽𧌟𣬈ᒷŶ疟𝒆𓁂槕 * RandomStringUtils.random(count, start, end, letters, number)- 임의의 문..
상속, 인터페이스에 의한 다형성(polymorphism) 1. 지연 바인딩 보통은 변수의 타입은 이 변수가 참조하는 개체의 클래스와 일치한다. ChessPiece bishop = new ChessPiece(); 위에서 bishop 변수는 ChessPiece 클래스를 실체화시킴으로써 생성되는 객체를 가리키는데 사용될 수 있다.이렇게 변수의 타입과 이 변수가 참조하는 객체가 호환 가능해야 하나 정확하게 일치할 필요는 없다. 참조 변수와 이 변수가 참조하는 객체와의 관계는 더 유연하다. 다형성(polymorphism)이란 용어는 "여러 형태를 갖는 것"으로 정의된다.다형 참조(polymorphic reference)는 때에 따라 다른 타입의 객체를 참조할 수 있다는 것이다. 다형 참조를 통해서 호출되는 특정 ..