반응형

공부/Java 74

자바 예외처리 복습하기

예외처리가 필요한 이유를 알아보기 위해 다음과 같은 간단한 예제 프로그램을 만들었다. 이 코드는 사용자의 입력을 받고, 입력 받은 문자를 외부 서버에 전송하는 프로그램이다.(실제 통신을 하고있다고 가정한다) NetworkClient : 외부 서버와 연결하고, 데이터를 전송하고, 연결을 종료하는 기능을 제공한다.NetworkService : NetworkClient를 사용해서 데이터를 전송한다. NetworkClient를 사용하려면, 연결, 전송, 연결 종료와 같은 복잡한 흐름을 제어해야 하는데, 이런 부분을 NetworkService가 담당한다.Main : 사용자의 입력을 받는다. --> 전체 흐름 : Main을 통해 사용자의 입력을 받으면, 사용자의 입력을 NetworkService에 전달한다. Net..

공부/Java 2024.09.22

자바 지역클래스 복습하기

지역클래스(Local class)는 내부 클래스의 특별한 종류의 하나이다. 따라서 내부 클래스의 특징을 그대로 가진다. 지역클래스도 내부 클래스이므로 바깥 클래스의 인스턴스 멤버에 접근할 수 있다. 지역 클래스 특징1. 지역 클래스는 지역 변수처럼 코드 블럭(메서드) 안에 클래스를 선언한다.2. 지역 클래스는 지역 변수에 접근할 수 있다. 다음과 같은 코드를 보자public class LocalOuterV1 { private int outInstanceVar = 3; public void process(int paramVar){ int localVar = 1; class LocalPrinter{ int value = 0; publ..

공부/Java 2024.09.21

자바 중첩 클래스, 내부 클래스 복습하기

중첩 클래스, 내부 클래스란?다음과 같이 for 문 안에 for문을 중첩하는 것을 중첩(Nested) for문이라고 한다for(){    for(){    }} 클래스도 마찬가지로 클래스 안에 클래스를 중첩해서 정의할 수 있는데, 이것을 중첩 클래스(Nested Class)라 한다.class Outer{    class Nested{    }} 중첩 클래스는 정의하는 위치에 따라 다음과 같이 분류한다. 중첩 클래스는 총 4가지가 있고, 크게 2가지로 분류할 수 있다.정적 중첩 클래스내부클래스 : 내부 클래스, 지역 클래스, 익명 클래스 변수 선언 위치1. 정적 변수(클래스 변수) -> 정적 변수와 같은 위치2. 인스턴스 변수 -> 인스턴스 변수와 같은 위치3. 지역 변수 -> 지역 변수와 같이 코드 블럭..

공부/Java 2024.09.20

자바 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
반응형