본문 바로가기

분류 전체보기155

Java 문자열 비교 compareTo, compareToIgnoreCase 메서드 Java에는 두 개의 문자열 값을 비교하여 int 형을 반환하는 메서드가 있다. 첫 번째는 compareTo 메서드이고, 두 번째는 compareToIgnoreCase 메서드이다. 두 메서드의 차이점은 비교할 때, 대소문자를 구분해서 비교하는지 여부이다. 이와 유사한 방식의 메서드로는 equals와 equalsIgnoreCase가 있다. compareTo 메서드 compareTo 메서드는 두 개의 문자열 값이 필요하다. 기준 문자열과 비교 문자열이다. 아래 코드에서는 str1이 기준 문자열이며, str2가 비교 문자열이다. str1.compareTo(str2) 메서드의 반환 값은 자료형은 int 형이며 값은 31이다. 31이라는 숫자는 str1, str2 두 문자열의 char로 비교한 결과를 나타낸다. .. 2019. 4. 15.
Eclipse RCP 바인딩 사용해서 커맨드에 단축키 연결하기 커맨드에 단축키를 연결할 때 바인딩(binding)을 사용한다. 바인딩은 "org.eclipse.ui.bindings" 확장점을 통해 설정하고, 커맨드 식별자와 키 조합을 연결한다. plugin.xml에 다음과 같은 내용을 추가하면 커맨드에 단축키를 연결할 수 있다. M1은 OS X에서 Cmd, 윈도우 또는 리눅스에서는 Ctrl을 의미하는 기본 메타 키이다. 키를 M1+4로 설정했는데, 연속 표기법은 동시에 두 키를 눌러야 한다는 의미이다. commandId : 커맨드 식별자(Id) contextId : 컨텍스트는 바인딩이 유효한 위치를 지정 schemeId : 바인딩 목록을 정의한 구성표 sequence : 단축키 키 조합 2019. 4. 15.
SWT CTabFolder 클래스 setSimple 설정 SWT 또는 Eclipse RCP(Plugin) 애플리케이션에서 탭 폴더를 나타내기 위해서 CTabFolder Composite를 주로 사용한다. CTabFolder Composite을 생성한 후, setSimple(boolean) 메서드를 통해 Render 옵션을 설정할 수 있다. Eclipse Doc 문서에 setSimple(boolean) 메서드가 어떤 역할을 하는지 설명되어 있다. setSimple(boolean) 메서드에 true 또는 false 옵션 값을 설정함에 따라 CTabFolder UI가 달라진다. @Override public void createPartControl(Composite parent) { parent.setLayout(new GridLayout()); final Labe.. 2019. 4. 15.
백준알고리즘 11654번 아스키 코드 11654번 아스키 코드는 주어진 글자를 아스키 코드 값으로 출력하는 문제입니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String inputText = scanner.next(); // 2개 문자 입력한 경우 종료 if (inputText.length() > 2) { return; } // String -> char로 값의 자료형 변경 char ch = inputText.charAt(0); System.out.println((int) ch); scanner.close(); } } 2019. 4. 15.
Effective Java 아이템 18. 상속보다는 컴포지션을 사용하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 상속은 코드를 재사용하는 강력한 수단이지만 항상 최선의 방법은 아니다. 잘못 사용하게 되면 오류를 범하기 쉽다. 여기에서 말하는 상속은 "클래스가 다른 클래스를 확장(extends)하는" 구현 상속을 말한다. 클래스가 인터페이스를 구현하거나 또는 인터페이스가 또 다른 인터페이스를 확장하는 상속과는 무관하다. 상속을 이용하면 캡슐화 원칙을 위반하게 된다. 하위 클래스는 상위 클래스를 확장 했기 때문에 상위 클래스의 구현에 의존적일 수 밖에 없다. 따라서 상위 클래스 변화에 따라 하위 클래스도 발맞춰 변경 해야 한다. 그리고 다음 릴리스에서 상위 클래스에 새로운 메서드가 추가 되면, 하위 클래스는 추가된.. 2019. 4. 14.
Effective Java 아이템 17. 변경 가능성을 최소화하라 Effective Java 3판을 학습하며 요약한 내용입니다. 자세한 내용은 책을 참고해주시기 바랍니다. 불변 클래스 인스터스의 내부 값을 수정할 수 없는 클래스를 불변 클래스라고 말한다. 불변 인스턴스는 처음 생성될 때 주어진 정보를 간직하고 객체가 파괴되는 순간까지 유지한다. 불변 클래스는 가변 클래스보다 구현 및 사용하기가 쉬우며, 오류가 발생할 여지도 적고 안전하다. 가변 클래스의 경우에는 인스턴스를 생성하고 나서 중간에 값이 변경될 수 있고, 이를 알아채지 못하면 오류를 발생하는 코드를 작성하기 쉽다. 클래스를 불변으로 만드는 규칙 5가지 객체의 상태를 변경하는 메서드를 제공하지 않는다. 클래스를 확장할 수 없도록 한다. 모든 필드를 final로 선언한다. 모든 필드를 private으로 선언한다.. 2019. 4. 14.