본문 바로가기

Web Technologies 🖥️/java11

scan.next() 사용 시 주의 사항 - JAVA JAVA 에서 Scanner 를 통하여 String 을 입력받을 때 주로 사용되는 next()... 주의 사항에는 어떤 점들이 있고 nextLine() 과 어떠한 차이가 있을까? 먼저 코드부터 살펴보자 입력값은 Hello World! 이고, 가독성을 위해 입력값은 " " 처리 nextLine() after next() public class Warning { public static void main(String args[]) { Scanner scan = new Scanner(System.in); System.out.print("문자열 입력(Space, Tab, Enter 전까지): "); String wordBeforeGap = scan.next(); System.out.println(wordBefo.. 2023. 12. 14.
BufferedWriter 는 뭔데 sysout 보다 빨라? - JAVA 자바를 입문하게 된다면 System.out.println("Hello World"); 를 맨 처음 접하게 된다 그렇게 우리는 자연스럽게 Scanner 와 sysout 으로 입 / 출력을 관리하게 된다 하지만 알고리즘 풀이나 기타 상황에서 성능적인 코드를 작성해야 할 때 더 빠른 함수가 있다면? 고려해보지 않을 이유가 없다 BufferedReader & BufferedWriter java.io 에 속한 이 녀석들이 바로 그에 대한 해결책이다 그 이유를 살펴보자 BufferedWriter 의 경우 데이터를 내부 버퍼에 저장하고 버퍼가 가득 차면 한 번에 데이터를 출력하나 sysout 의 경우 호출될 때마다 즉시 출력하므로 반복적인 I / O 작업으로 성능이 저하된다 이러한 특성 때문에 I / O 작업의 횟수.. 2023. 12. 8.
method에 final을 붙이면 어떻게 돼? (final 메소드) - JAVA method 를 재정의(오버라이딩)를 원치 않을 경우, 어떠한 방법을 사용할 수 있을까? 바로 "final method" 를 사용하면 된다 위 예시와 같이 부모 클래스에서 정의한 메소드를 자식 클래스에서 그대로 사용하길 원할 경우, 여러 개의 method 가 존재하는 가운데 특정 method 만 재정의할 수 없도록 하고 싶을 땐 method 를 정의할 때 final 키워드를 붙이면 된다 2023. 10. 31.
final의 불가변성 (feat... list, Collections.unmodifiableList) - JAVA 개발을 하다보면, 불가변을 필두로 전역 변수를 선언해야 하는 경우가 존재한다 당연히 "final"이라는 키워드를 사용하여 MAXSPEED에 불가변성을 주입하였는데, 그것을 변형하려고 한다면 에러가 발생할 것이다 그렇다면, 데이터 타입의 범주를 넘어서 list 단위로 final이라는 키워드를 붙이면 어떤 현상이 발생할까? "final은 불가변성을 주입하는 키워드이고, final list로 list를 생성하게 되면 해당 list는 불가변일 테니, 내부에 있는 자료들 또한 불가변이지 않을까?" 라고 생각할 수 있다 과연 그럴까? 코드로 살펴보자 코드를 천천히 살펴보자 2번 줄에서 final 키워드를 사용하여 finalList를 생성하였다 그런데 4, 5, 6, 7번 줄에서 값을 자유롭게 삽입하거나 제거할 수 .. 2023. 10. 21.
깔끔한 if문 작성하는 법 좀 알려줘 (feat... 화이트리스트) - JAVA " 왜? " 라는 질문에 답변을 해보자면 "가독성" 을 위해서 위에선 단지 가독성이라고 답했지만 if문이 많아지면 효율성도 떨어지고 유지보수나 기능 확장 측면에서 적절하지 않다 enum을 사용하거나, map으로 대체하는 등 다양한 방법이 많지만, 일단은 조건문에 초점을 잡아보자 먼저 가장 기본적인 수준의 if문부터 살펴보자 "Bubble Style" 보통 이런 식의 if else 조건문을 많이 사용하게 된다 겹겹이 둘러싸인 조건문들의 형상이 마치 방울방울 뭉쳐있다고 해서 "Bubble Style" 이라는 이름이 붙여졌다 코드를 살펴보면, 현재 여러 조건문이 겹쳐있어서 if와 else의 범위가 한눈에 잘 들어오지 않는다 그렇다면 대표적인 차선책으로 어떤 스타일이 존재할까? "GateWay Style" 조건.. 2023. 9. 29.
728x90
반응형