반응형

프로그래밍기초 34

Java의 Wrapper 클래스

이번 포스팅은 Java의 핵심 컨셉 중 하나인 Wrapper 클래스에 대해 알아보겠습니다. 이 포스트에서는 Wrapper 클래스의 개념을 이해하고, 이를 활용한 코드를 작성해보는 시간을 가질 예정입니다. 기본 데이터 타입을 객체로 다루는 래퍼 클래스는 매우 중요한 개념이므로, 이해하고 넘어가는 것이 중요합니다. Wrapper 클래스란? Wrapper 클래스는 기본 데이터 타입(primitive data type)을 객체로 다루기 위해 사용하는 클래스입니다. 즉, 기본 데이터 타입에 대한 '클래스 표현'을 제공합니다. 모든 기본 데이터 타입(byte, short, int, long, float, double, char, boolean)에는 해당하는 래퍼 클래스가 있습니다. 이들은 모두 java.lang 패..

개발/Java 2023.07.20

Java의 StringBuilder/StringBuffer 클래스

오늘은 문자열을 효율적으로 다룰 수 있는 두 가지 클래스, StringBuilder와 StringBuffer에 대해 알아보려 합니다. 이들은 String 클래스와는 달리 변경 가능한(mutable) 문자열을 다루는 클래스들입니다. 자바에서 문자열을 다룰 때, 이러한 클래스들을 이해하고 사용하는 것이 매우 중요합니다. StringBuilder 클래스 StringBuilder는 Java 5에서 도입된 클래스로, 문자열을 추가하거나 변경할 때 주로 사용합니다. StringBuilder의 모든 public 메소드들은 StringBuilder 객체 자신을 반환함으로써 메소드 호출을 연쇄적으로 이어갈 수 있습니다. 이를 메소드 체이닝이라 합니다. StringBuilder의 주요 메소드들은 다음과 같습니다: appe..

개발/Java 2023.07.20

Java의 String 클래스

번 포스팅에서는 Java에서 자주 사용되는 클래스 중 하나인 String 클래스에 대해 알아보도록 하겠습니다. String 클래스는 char 배열과 관련 메소드들로 이루어져 있으며, 한번 생성된 String 객체의 내용은 불변입니다. 이러한 특성 때문에 문자열을 자주 변경해야 하는 경우 String 클래스보다는 StringBuilder나 StringBuffer 클래스를 사용하는 것이 효율적입니다. 그렇다면 이제 자세히 살펴보도록 하겠습니다. String 클래스의 불변성 String 클래스는 불변(immutable) 클래스입니다. 즉, String 클래스의 객체를 한 번 생성하면 그 내용을 변경할 수 없습니다. 문자열을 변경하는 것처럼 보이는 작업을 수행하면, 기존의 객체를 변경하는 것이 아니라 새로운 객..

개발/Java 2023.07.20

Java의 Object 클래스 : toString(), equals(), hashCode()

이번 포스팅에서는 Java에서 가장 기본적인 클래스인 Object 클래스에 대해 알아보려 합니다. Java에서 모든 클래스는 기본적으로 Object 클래스를 상속받게 되어 있습니다. 이는 곧, 모든 클래스가 Object 클래스에 정의된 메소드들을 기본적으로 사용할 수 있다는 것을 의미합니다. 이러한 Object 클래스의 메소드 중, toString(), equals(), 그리고 hashCode() 메소드에 초점을 맞춰 알아보도록 하겠습니다. toString() 메소드 toString() 메소드는 객체를 문자열(String)로 바꿔서 반환해주는 메소드입니다. 이 메소드는 주로 오버라이딩을 통해 인스턴스의 정보를 알기 쉽게 출력하기 위해 사용됩니다. class Person { String name; int ..

개발/Java 2023.07.19

Java에서의 예외처리(Exception Handling)

오늘은 프로그래밍에서 빠질 수 없는 주제인 '예외 처리'에 대해 이야기해보려 합니다. 특히 Java에서는 'try-catch', 'throws' 등 여러가지 방법으로 예외를 처리할 수 있습니다. 이 포스트에서는 Java의 예외 처리 방법과 그 사용 예를 자세히 살펴보겠습니다. 예외처리란? 프로그램 실행 중 발생할 수 있는 예상치 못한 상황을 '예외'라고 합니다. 이러한 예외를 처리하지 않으면 프로그램은 강제 종료되며, 사용자에게 좋지 않은 경험을 제공하게 됩니다. 그래서 예외처리는 프로그램이 강제 종료되는 것을 막고, 예외 발생 시 적절한 대응을 할 수 있게 하는 것입니다. try-catch-finally Java에서 가장 일반적인 예외 처리 방법은 'try-catch-finally' 블럭을 사용하는 것..

개발/Java 2023.07.19

Java에서의 함수형 인터페이스와 람다식

자바에서는 함수형 프로그래밍 패러다임을 지원하기 위해 람다식과 함수형 인터페이스를 도입하였습니다. 이번 포스팅에서는 이 두 개념이 무엇인지, 그리고 어떻게 활용할 수 있는지에 대해 알아보겠습니다. 함수형 인터페이스란? 함수형 인터페이스는 추상 메소드를 하나만 가지고 있는 인터페이스를 가리킵니다. 이 때 '@FunctionalInterface'를 인터페이스 위에 작성하여 단 하나의 추상 메소드만 선언할 수 있도록 제한할 수 있습니다. 예시코드: @FunctionalInterface interface MyInterface { void print(String message); } 위의 예시코드에서 MyInterface는 '@FunctionalInterface' 애노테이션을 가지고 있으며, print라는 하나의..

개발/Java 2023.07.19

Java에서의 익명 클래스 (Anonymous Classes)

오늘은 자바에서 흔히 사용되지만, 익숙하지 않은 개념인 '익명 클래스'에 대해 알아보겠습니다. '익명 클래스'라는 이름에서 알 수 있듯이, 이는 이름이 없는 클래스입니다. 이름이 없다고 해서 그 존재가 희미한 것은 아니라는 것을 이 글을 통해 알아가시기 바랍니다. 이번 포스팅에서는 익명 클래스의 선언 방법, 활용 예시, 그리고 장점에 대해 알아보도록 하겠습니다. 익명 클래스란? 익명 클래스는 이름이 없는 클래스로, 주로 한 번만 사용할 클래스에 사용됩니다. 클래스의 구현과 객체 생성을 동시에 하기 때문에 코드가 간결해지는 장점이 있습니다. 익명 클래스는 어떤 클래스를 상속 받거나 인터페이스를 구현해야만 생성이 가능합니다. 다음은 익명 클래스의 선언 방법입니다. 클래스 상속을 통한 익명 클래스 선언 방법:..

개발/Java 2023.07.19

Java에서의 내부 클래스

오늘은 자바에서 중요한 개념 중 하나인 '내부 클래스'에 대해 이야기하려 합니다. 클래스 내부에 또 다른 클래스가 있는 이상한 구조, 과연 어떤 이유에서 이런 구조를 사용하는지, 어떤 이점이 있는지 함께 알아봅시다. 내부 클래스란? 내부 클래스는 말 그대로 클래스 안에 선언된 또 다른 클래스를 의미합니다. 이런 구조에서 바깥에 위치한 클래스를 '외부 클래스', 그 내부에 선언된 클래스를 '내부 클래스'라고 부릅니다. 그럼 외부 클래스와 내부 클래스의 관계에 대해 좀 더 자세히 알아봅시다. 외부 클래스와 내부 클래스의 관계 외부 클래스가 메모리에 할당된 후에야 내부 클래스를 객체화할 수 있습니다. 즉, 내부 클래스는 외부 클래스의 필드처럼 동작합니다. 내부 클래스는 외부 클래스의 필드에 자유롭게 접근할 수..

개발/Java 2023.07.19

Java에서의 마커 인터페이스(MarkerInterface)

이번 포스팅에서는 Java의 마커 인터페이스에 대해 다루어 보겠습니다. 인터페이스에 대한 기본적인 이해가 있다면 더 쉽게 이해할 수 있을 것입니다. 여기서는 마커 인터페이스가 무엇인지, 어떻게 사용하는지에 대해 알아보겠습니다. 마커 인터페이스란? 마커 인터페이스는 자바에서 특정 클래스가 특정 동작을 할 수 있음을 나타내기 위한 목적으로 사용됩니다. 마커 인터페이스는 어떠한 메서드도 포함하지 않은 인터페이스로, 클래스가 특정한 성질을 가짐을 표시하는 역할을 합니다. public interface MyMarkerInterface { } 위 코드는 MyMarkerInterface라는 이름의 마커 인터페이스를 선언하는 코드입니다. 보시다시피 이 인터페이스는 어떠한 메서드도 포함하지 않습니다. 마커 인터페이스 활..

개발/Java 2023.07.19

Java에서의 다중상속

다중 상속이란 하나의 클래스가 두 개 이상의 부모 클래스로부터 상속을 받는 것을 의미합니다. 그러나 JAVA는 모호성 때문에 다중 상속을 지원하지 않습니다. 그렇다면 무슨 모호성 때문일까요? 모호성 문제 하나의 클래스가 여러 부모를 상속 받을 때, 부모 클래스 간에 동일한 이름의 필드나 메소드가 있다면, 어떤 부모 클래스의 필드 또는 메소드인지 알 수 없는 문제가 발생합니다. 예를 들어, 클래스 A와 B가 각각 int형 변수 data를 가지고 있고, 클래스 Child가 A와 B를 상속받는다면 다음과 같은 상황이 발생합니다. class A { int data = 100; } class B { int data = 200; } class Child extends A, B {} // JAVA에서는 이 문법 자체..

개발/Java 2023.07.19
반응형