JAVA

if문 중괄호를 생략하면?if문을 작성할 때, 중괄호{} 블록 내에 실행문이 하나밖에 없다면 중괄호를 생략할 수 있다.ealry return이나 단순 프린트(혹은 로깅)를 할 때 유용하게 사용되곤 하는데, 제대로 알지 못하고 사용하면 버그의 원인이 될 수 있다. boolean isTrue = true;// good caseif (isTrue) System.out.print("HELLO WORLD");// bad caseif (!isTrue) System.out.println("It's false!"); System.out.println("BYE WORLD"); 첫번째 케이스와 같이 if문에 실행문이 하나인 경우 "HELLO WORLD"를 출력하게 된다.하지만 두번째 케이스의 경우 의도와 다르게 "B..
부호/증감 연산자부호 연산자연산식설명+피연산자피연산자의 부호 유지-피연산자피연산자의 부호 변경 정수 타입(byte, short, int) 연산의 결과는 int 타입이다. 부호를 변경하는 것도 연산이므로 int 타입 변수에 대입해야한다. 증감 연산자연산식설명++피연산자피연산자의 값을 1 증가시킴--피연산자피연산자의 값을 1 감소시킴피연산자++다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴피연산자--다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴  ❓for문 증감연산자는 왜 뒤에 ++이 붙을까?for문의 증감식은 블록 실행 후 루프가 "다시 조건식으로 돌아가기 전에" i값을 증감 시키는 역할을 한다.즉, 블록 실행 후 i를 증감시켜 다음 루프를 준비하는 것이다...만 for문 증감식에서 후위(i+..
변수 선언변수하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름자바의 변수는 처음에 선언된 타입 형태로만 저장할 수 있다. 변수명 규칙첫번째 글자는 문자여야한다. 특수문자는 '$', '_' 만 포함할 수 있다.중간부터는 숫자 및 허용된 특수문자를 사용할 수 있다.첫 문자는 소문자로 시작하되, CamelCase로 작성한다. 변수 선언과 초기화변수 선언저장되는 값의 타입과 이름만 결정한다. 메모리에는 할당되지 않는 상태int num; 변수 초기화변수에 최초로 값을 대입한다. 변수를 선언함과 동시에 대입할 수 있다.초기화 하지 않은 변수를 연산식에 대입할 경우 컴파일 에러가 발생한다.int num; // 변수 선언int value = 10; // 변수 초기화int result = num + value; ..
프로그래밍 언어와 자바Java의 특징모든 운영체제에서 실행 가능JVM(Java Virtual Machine) 위에서 실행되는 자바는 OS와 무관하게 모든 플랫폼에서 동작한다.객체 지향 프로그래밍(Object-Oriented Programming, OOP)메모리 자동 정리자바는 GC(Garbage Collection)가 메모리를 자동으로 관리해준다멀티스레드 지원무료 라이브러리 풍부 다른 언어와의 비교대표적으로 많이 사용되는 C++, Python과 비교해보자비교 항목JavaC++Python실행 환경JVM 위에서 실행OS에서 직접 컴파일하여 실행인터프리터 기반메모리 관리자동수동자동속도중간빠름느림난이도중간상대적으로 복잡쉬움주요 사용 분야기업용 백엔드, 모바일(Android), 금융 시스템 등게임, 임베디스 시스..
· JAVA/JAVA
들어가기 전, 싱글톤 패턴을 복습해보자 2021.12.01 - [개발자가 될 때까지/JAVA] - [Java] 디자인패턴 - 싱글톤 패턴 (singleton pattern) [Java] 디자인패턴 - 싱글톤 패턴 (singleton pattern) 싱글톤 패턴(Singleton Pattern)이란? 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미한다. 즉, 인스턴스가 오직 1개만 생성되어야 하는 annajin.tistory.com 싱글톤 패턴은 단 하나의 인스턴스를 생성해 프로그램 전반에서 하나의 인스턴스만을 사용하게 하는 패턴이다. 다시 말하면, 프로그램 시작부터 종료 시까지 어떤 클래스의 인스턴스가 메모리 상에 단 하나만 존재할 수 있..
· JAVA/JAVA
자바에서는 날짜와 시간을 다루는 다양한 클래스들을 제공한다. 오랜시간 사용되어왔지만 불편하다고 악평이 자자한 Date클래스와 Calendar클래스부터 기존의 것들을 답답하게 여긴 사람들이 만든 Joda-Time 라이브러리, JDK8부터 추가된 java.time등이 존재한다. 하지만 Date클래스와 Calendar클래스는 앞서 말했듯 많은 문제점들 때문에 사용하기 불편하다. 기존 클래스들에는 어떤 문제점이 있고, 여러 라이브러리들과 JDK8에서는 이 문제점들을 어떻게 개선했는지를 알아보고자 한다. Date와 Calendar클래스 public static void main(String[] args) { Calendar cal = Calendar.getInstance(); Date date = cal.getT..
· JAVA/JAVA
싱글톤 패턴(Singleton Pattern)이란? 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미한다. 즉, 인스턴스가 오직 1개만 생성되어야 하는 경우에, 클래스에 하나의 객체만을 생성해 이후에 호출된 곳에서는 생성된 객체를 반환하여 프로그램 전반에서 하나의 인스턴스만을 사용하게 하는 패턴이다. 싱글톤 패턴 생성 규칙 https://velog.io/@ednadev/%EC%9E%90%EB%B0%94-static-%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4singleton-pattern 자바 static - 싱글톤 패턴(singleton pattern) . . . . . static은 '클래스의', ..
· JAVA/JAVA
https://ifuwanna.tistory.com/221 [Java] String, StringBuffer, StringBuilder 차이 및 장단점 Java 에서 문자열을 다루를 대표적인 클래스로 String , StringBuffer, StringBuilder 가 있습니다. 연산이 많지 않을때는 위에 나열된 어떤 클래스를 사용하더라도 이슈가 발생할 가능성은 거의 없습니다 ifuwanna.tistory.com String String과 StringBuffer/StringBuilder 클래스의 가장 큰 차이점은 String은 불변(immutable)의 속성을 갖는다는 점이다. String에 새로운 값을 추가하게 되면 기존의 값이 변경되는 것이 아니라 추가한 값은 새로운 메모리영역을 할당받고, 기존의 값..
· JAVA/JAVA
[JAVA] 람다식(Lambda Expression) (tistory.com) [JAVA] 람다식(Lambda Expression) 람다식(Lambda Expression) JDK1.8부터 추가됨 람다식의 도입 → 자바 = 객체지향 언어 + 함수형 언어 ※ 객체지향 언어와 함수형 언어란? 각각 객체지향 프로그래밍 패러다임을 지원하는 언어와 함수형 atoz-develop.tistory.com 람다식(Lambda Expression) JDK 8부터 추가된 람다 함수는 익명함수(Anonymous functions)를 지칭하는 용어이다. 즉, '식별자 없이 실행가능한 함수, 메소드의 이름이 필요없는 함수'라고 말할 수 있다. 📌함수형 인터페이스 함수를 단 하나만 가지고 있는 인터페이스 함수를 1급 객체처럼 다룰..
· JAVA/JAVA
JDK 8에 추가된 API로 함수형 인터페이스인 람다(lambda)를 활용할 수 있는 기술. 데이터를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드를 정의한 API이다. 배열이나 컬렉션을 출력할 때, 코드를 간결하고 가독성있게 표현할 수 있는 API로 길게 늘어진 for문을 체이닝과 람다를 이용하여 보기 쉽게 정리할 수 있다. 이렇게 적어서는 잘 이해가 되지 않으므로 예제를 가지고 이해해보기로 했다! 2021.11.26 - [개발자가 될 때까지/JAVA] - [Java] 람다식 (Lambda Expression) [Java] 람다식 (Lambda Expression) [JAVA] 람다식(Lambda Expression) (tistory.com) [JAVA] 람다식(Lambda Expression) ..