JAVA/Java: 149개의 글
abstract 1. 추상화란추상[抽象]: 낱낱의 구체적 표상이나 개념에서 공통된 성질을 뽑아 이를 일반적인 개념으로 파악하는 정신 작용즉. 프로그래밍에서는 추상화는 기존의 클래스의 공통부분을 뽑아내서 조상클래스를 만드는 것이다.추상화를 구체화와 반대되는 의미로 이해하면 보다 쉽게 이해할 수 있다. 상속계층도를 따라 내려갈수록 클래스는 점점 기능이 추가되어 구체와의 정도가 심해지며, 상속 계층도를 따라 올라갈수록 클래스는 추상화의 정도가 심해진다고 할 수 있다.즉, 상속계층도를 따라 갈수록 세분화되며, 올라갈수록 공통요소만 남게 된다.추상화: 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업구체화: 상속을 통해 클래스를 구현, 확장하는 작업 2. 추상클래스클래스를 설계도에 비유한다면 추상클래스는 미..
인터페이스의 이해 1. 인터페이스의 이해 서두먼저 인터페이스를 이해하기 위해서는 다음의 두 가지 사항을 반드시 염두에 두고 있어야 한다.1) 클래스를 사용하는 쪽(User)과 클래스를 제공하는 쪽(Provider)이 있다.2) 메서드를 사용(호출)하는 쪽(User)에서는 사용하려는 메서드(Provider)의 선언부만 알면 된다. (내용은 몰라도 된다.) class A{public void method( B b){b.method();}} class B {public void methodB(){System.out.println("methodB()");}} class InterfaceTest{public static void main(String args[]){A a = new A();a.methodA(new..
형변환 형 변환(Type Conversion)이란 데이터의 타입을 변경하는 것이다. 예를 들어 int 타입의 정수 200의 bit 값은 아래와 같다.00000000 00000000 00000000 11001000프로그래밍을 처음 시작하는 사람도 컴퓨터는 모든 정보가 0과 1로 만들어진다는 이야기를 들어봤을 것이다. 여러분이 200이라는 숫자를 입력하면 컴퓨터에는 위와 같이 0과 1로 이루어진 조합으로 저장된다. 바로 이 0과 1을 bit라고 부른다. 위의 데이터는 8X4개의 자릿수로 이루어져 있다. 이것을 32bit라고 부른다. 위의 데이터는 int 형으로 숫자 200을 저장했을 때 메모리상에 만들어지는 내용이다. 그럼 실수형인 float 타입으로 정수 200.0을 저장하면 어떻게 될까? 사람에게는 똑같..
실행 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..