개발/Java 7

String, StringBuffer, StringBuilder, 문자 리터럴 비교

코딩 테스트를 진행하던 중 반복적인 문자 연산 문제가 나왔다. String의 경우 문자열 연산시 새로운 String 객체를 생성하기에 오버해드가 크다 생각하여 StringBuffer를 사용해 보았다. 1 2 3 4 5 6 7 8 9 10 11 import java.util.Scanner; public class Solution { public static void main(String[] args) { //String output = "a" + "b" + "c"; StringBuffer output = new StringBuffer("a"); output.append(b); output.append(c); System.out.println(output); } } 그런데 왠걸 연산에 소모되는 시간이 오히려..

개발/Java 2024.03.11

어째서 인터페이스는 protected 접근제한자 허용하지 않는가?

자바를 공부하며 기본적으로 배우는것이 있다. private < default < protected < public 순으로 넓다는것 또한 메소드 오버라이딩시 접근제한자의 범위를 줄일수 없다는것이 그것이다. public interface AA { void a(); } 그러나 인터페이스에서 선언한 이녀셕을 오버라이딩 하려 하니 public abstract class BB implements AA{ protected void a() {}; } 메소드 a에 빨간줄을 그으며 Cannot reduce the visibility of the inherited method from AA 범위를 줄일수 없다고 하지 않는가? default 접근 제한자는 protected보다 좁은 범위아닌가? 당황하지 않고 빠르게 구글링한 ..

개발/Java 2023.07.20

이클립스 단축키 공략

프로젝트, 파일 생성 : Ctrl + N 프로젝트, 클래스, 패키지 등등 생성 가능 저장 : Ctrl + S 모르는 사람 없다 영역 선택, 이동 전체 선택 : Ctrl + A 전체 다 선택 한다, 포멧이랑 쓰자 줄 추가 선택 : Shift + ↑, Shift + ↓ 한줄 더 추가 포멧 맞춰준다 : Ctrl + Shift + F 편안~ 영역 이동 : Alt + ↑, Alt + ↓ 영역 복사 이동 : Ctrl + Alt + ↑, Ctrl + Alt + ↓ 아웃 라인으로 이동 : Ctrl + O 빠른 이동 선언부 이동 : F3 이걸 어따 선언 했었지..? 영역 삭제 : Ctrl + D 새 출발을 위한 단축키 = Ctrl + A, Ctrl + D 아래에 줄 추가 : Shift + Enter end 키는 너무 멀..

개발/Java 2022.09.30