반응형

전체 글 105

자바 String 클래스 복습하기

String 클래스-기본자바에서 문자를 다루는 대표적인 타입은 char, String 두가지가 있다.public class CharArrayMain { public static void main(String[] args) { char a = '가'; System.out.println("a = " + a); char[] charArr = {'h','e','l','l','o'}; System.out.println(charArr); String str = "hello"; System.out.println(str); }} 기본형인 char을 다루는 방법은  매우 불편하기 때문에 자바는 문자열을 편리하게 다룰 수 있는 Strin..

공부/Java 2024.09.19

자바 불변 객체 복습하기

불변객체  기본형과 참조형의 공유자바의 데이터 타입을 크게 보면 기본형(Primitive Type)과 참조형(Reference Type)으로 나눌 수 있다.기본형 : 하나의 값을 여러 변수에서 절대로 공유하지 않는다.참조형 : 하나의 객체를 참조값을 통해 여러 변수에서 공유할 수 있다.public class PrimitiveMain { public static void main(String[] args) { int a = 10; int b = a; System.out.println("a = " + a); System.out.println("b = " + b); b = 20; System.out.println("a = " + ..

공부/Java 2024.09.18

자바 Object 클래스 복습하기

java.lang자바가 기본으로 제공하는 라이브러리 중에 가장 기본이 되는 것이 java.lang이다.자바 언어를 이루는 가장 기본이 되는 클래스들을 보관하는 패키지를 뜻한다. java.lang 패키지의 대표적인 클래스들Object : 모든 자바 객체의 부모 클래스String : 문자열Integer, Long, Double : 래퍼타입, 기본형 데이터 타입을 객체로  만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공 여기 나열한 클래스들은 자바 언어의 기본을 이루기 때문에 반드시 잘 알아야한다. +java.lang 패키지는 모든 자바 애플리케이션에 자동으로 import되기 때문에 import를 하지 않아도 된다.import java.lang.System;public..

공부/Java 2024.09.18

자바 예외처리 2

https://surrealcode.tistory.com/65 자바 예외처리 1예외처리는 정상 흐름과 예외 흐름을 명확하게 분리하여 가독성을 높이는 데 있다.  우선 다음의 예제를 살펴보자. 이 예제는 서버와 통신(을 한다고 가정한다)하여 메세지를 보내는 예제이다.surrealcode.tistory.com예외처리에 관한 1편은 이전 내용을 참고하는 것이 좋다.이전에 사용했던 소스 코드를 여기서 재사용할 예정이다.  앞서 만든 통신 프로그램은 반환값을 사용하여 예외를 처리했었다. 이런 경우 다음과 같은 문제가 있다1. 정상 흐름과 예외흐름이 섞여있어 코드를 이해하기가 어렵다.2. 예외 흐름이 더 많은 코드 분량을 차지한다. 여기에 예외처리를 도입해서 처리해보자.public class NetworkClien..

공부/Java 2024.09.16

자바 예외처리 1

예외처리는 정상 흐름과 예외 흐름을 명확하게 분리하여 가독성을 높이는 데 있다.  우선 다음의 예제를 살펴보자. 이 예제는 서버와 통신(을 한다고 가정한다)하여 메세지를 보내는 예제이다.public class NetworkClientV0 { private final String address; public NetworkClientV0(String address) { this.address = address; } public String connect(){ System.out.println(address + " 서버 연결 성공"); return "success"; } public String send(String data){ ..

공부/Java 2024.09.15

자바 익명 클래스

https://surrealcode.tistory.com/63 자바 지역 클래스https://surrealcode.tistory.com/62 자바 중첩 클래스, 내부 클래스예전 반복문을 배울 때 for문 안에 for문을 중첩하는 것을 배웠던 적이 있다.for(){    for((){        ~~~~~    }}이런 for문을 2중 for문 또는surrealcode.tistory.com익명 클래스는 지역 클래스의 종류 중 하나이기에 이전 게시글인 자바 지역클래스를 참고하도록 하자.  자바의 익명 클래스(anonymous class)는 지역 클래스의 특별한 종류의 하나이다.익명 클래스는 지역 클래스인데, 클래스의 이름이 없다는 특징이 있다.  public class LocalOuterV2 { pr..

공부/Java 2024.09.14

자바 지역 클래스

https://surrealcode.tistory.com/62 자바 중첩 클래스, 내부 클래스예전 반복문을 배울 때 for문 안에 for문을 중첩하는 것을 배웠던 적이 있다.for(){    for((){        ~~~~~    }}이런 for문을 2중 for문 또는 중첩(Nested) for문이라고 하였었다. 이러한 중첩은 클래스surrealcode.tistory.com내부 중첩 클래스 및 내부 클래스에 대한 설명은 위 링크를 참고하자. 이전에 배웠듯이 중첩 클래스의 종류는 크게 두가지로 분류하고 작게는 네가지가 있었다.1. 정적 중첩 클래스2. 내부 클래스 : 내부 클래스, 지역 클래스, 익명 클래스  그 중 지역 클래스(Local class)는 내부 클래스의 특별한 종류의 하나이다. 따라서 내..

공부/Java 2024.09.14

자바 중첩 클래스, 내부 클래스

예전 반복문을 배울 때 for문 안에 for문을 중첩하는 것을 배웠던 적이 있다.for(){    for((){        ~~~~~    }}이런 for문을 2중 for문 또는 중첩(Nested) for문이라고 하였었다. 이러한 중첩은 클래스에서도 적용이 될 수 있는데, 이것을 중첩 클래스(Nested Class)라고 한다. 중첩 클래스는 클래스를 정의하는 위치에 따라 다음과 같이 분류한다.중첩 클래스는 총 4가지이고, 크게 2가지로 분류할 수 있다.중첩 클래스 : 정적 중첩 클래스 + 내부 클래스 종류 포함 1. 정적 중첩 클래스2. 내부 클래스 : 내부 클래스, 지역 클래스, 익명 클래스 중첩 클래스를 정의하는 위치는 변수의 선언 위치와 같다.1. 정적 중첩 클래스 -> 정적 변수와 같은 위치2...

공부/Java 2024.09.13

자바 날짜와 시간

날짜와 시간을 계산하는 것은 단순하게 생각하면 아주 쉬워보이지만, 실제로는 매우 어렵고 복잡하다.왜 그런지 이유를 알아보자 1. 날짜와 시간 차이 계산특정 날짜에서 다른 날짜까지의 정확한 일수를 계산하는 것은 생각보다 복잡하다. 유년ㄴ, 각 달의 일수 등을 모두 고려해야하며, 간단한 뺄셈 연산으로는 결과를 정확하게 얻기 어렵다. 2. 윤년 계산지구가 태양을 한 바퀴 도는 데 걸리는 평균 시간은 대략 365.2425일, 즉 365일 5시간 48분 45초정도 이다. 우리가 사용하는 그레고리력은 1년이 365일로 설정되어 있기 때문에 둘의 시간이 정확히 맞지 않아 윤년(4년마다 하루를 추가하는 달력)이 도입되었다.윤년 계산은 간단해보이지만 실제로는 매우 복잡하다. 윤년은 보통 4년마다 한번씩 발생하지만, 10..

공부/Java 2024.09.12
반응형