[TIL 66일차] 자바 복습 정리 17

이건·2024년 8월 24일

문자열과 타입 안정성

문자열과 타입 안정성은 프로그래밍 언어에서 중요한 개념이다. 문자열은 문자로 구성된 데이터의 집합으로, 주로 텍스트를 표현하는 데 사용된다. 타입 안정성은 변수나 표현식의 데이터 타입이 명확하게 정의되어 있고, 이 타입이 코드 실행 중에 변경되지 않는 것을 의미한다.

문자열

  1. 정의: 문자열은 문자들의 순서로 구성된 데이터 타입으로, 대부분의 프로그래밍 언어에서 기본 데이터 타입으로 지원한다.
  2. 사용 예: 사용자 입력, 파일 입출력, 데이터베이스 쿼리 등에서 많이 사용된다.
  3. 특징:
    • 가변 문자열(변경 가능)과 불변 문자열(변경 불가)로 나눌 수 있다.
    • 다양한 문자열 조작 함수(예: 길이 측정, 자르기, 연결 등)가 제공된다.

타입 안정성

  1. 정의: 타입 안정성이란 프로그램이 실행되는 동안 변수의 타입이 변경되지 않는 것을 의미한다. 이는 코드의 예측 가능성을 높이고 오류를 줄이는 데 기여한다.
  2. 타입 안정성이 있는 언어: 예를 들어, Java, C#, Rust 등은 강한 타입 시스템을 가지고 있어 타입 안정성이 보장된다.
  3. 타입 안정성이 없는 언어: Python, JavaScript와 같은 동적 타이핑 언어는 변수의 타입이 실행 중에 변경될 수 있다. 이로 인해 때때로 예기치 않은 오류가 발생할 수 있다.

문자열과 타입 안정성의 관계

  • 문자열과 관련된 작업에서 타입 안정성은 매우 중요하다. 예를 들어, 숫자와 문자열을 혼합하여 사용하려 할 때, 타입 안정성이 보장되는 언어에서는 명시적으로 변환해주어야 한다. 반면, 타입 안정성이 없는 언어에서는 자동으로 변환될 수 있어 예기치 않은 결과를 초래할 수 있다.

결론

문자열을 다룰 때는 타입 안정성을 염두에 두는 것이 중요하다. 안정적인 타입 관리를 통해 코드의 가독성과 유지보수성을 높일 수 있으며, 버그를 줄이는 데 도움이 된다. 따라서 프로그래밍 언어의 특성과 문자열 처리 방식을 잘 이해하고 사용하는 것이 필요하다.

열거형(Enumeration)

자바에서 열거형(Enumeration)은 관련된 상수 집합을 정의하는 데 사용되는 특별한 데이터 타입이다. 열거형은 코드의 가독성을 높이고, 상수값을 보다 안전하게 다룰 수 있게 해준다. 자바에서는 enum 키워드를 사용하여 열거형을 정의한다.

열거형 정의

열거형은 다음과 같은 형식으로 정의할 수 있다:

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

위 예제에서 Day라는 이름의 열거형을 정의하였으며, 일주일의 각 요일을 상수로 포함하고 있다.

열거형 사용법

  1. 열거형 값 사용:

    Day today = Day.MONDAY;
    System.out.println("Today is: " + today);
  2. 열거형 순회:
    열거형의 모든 값을 순회할 수 있다.

    for (Day day : Day.values()) {
        System.out.println(day);
    }
  3. 열거형 메서드 추가:
    열거형에 메서드를 추가하여 더 많은 기능을 제공할 수 있다.

    public enum Day {
        SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
    
        public boolean isWeekend() {
            return this == SUNDAY || this == SATURDAY;
        }
    }
    
    // 사용 예
    if (today.isWeekend()) {
        System.out.println("It's a weekend!");
    }
  4. 열거형 값에 추가 필드:
    열거형에 추가적인 속성을 가진 필드를 정의할 수도 있다.

    public enum Planet {
        MERCURY(3.303e+20, 2.4397e6),
        VENUS(4.869e+24, 6.0518e6),
        EARTH(5.976e+24, 6.37814e6);
    
        private final double mass;   // 질량
        private final double radius;  // 반지름
    
        Planet(double mass, double radius) {
            this.mass = mass;
            this.radius = radius;
        }
    
        public double getMass() {
            return mass;
        }
    
        public double getRadius() {
            return radius;
        }
    }

장점

  • 타입 안전성: 열거형을 사용하면 타입 안전성을 유지할 수 있어, 잘못된 값이 할당되는 것을 방지할 수 있다.
  • 가독성: 코드에서 상수를 명확하게 표현할 수 있어 가독성이 향상된다.
  • 기능 확장: 메서드를 추가하여 열거형에 기능을 부여할 수 있다.

결론

자바의 열거형은 상수 집합을 정의하고, 이를 안전하게 사용할 수 있게 해주는 유용한 기능이다. 이를 통해 코드의 품질을 높이고, 유지보수를 용이하게 할 수 있다.

0개의 댓글