본문 바로가기

분류 전체보기303

[Java] 어노테이션(Annotation) 사용 방법 자바(Java)에서 매우 자주 등장하고 심지어 필요시 만들어서 간편하게 사용하기 위한 방법 중 하나가 바로 어노테이션(Annotation)이다. 발음은 어노테이션 혹은 애노테이션이라 불린다. 이번 포스팅에서는 어노테이션에 대해서 알아보자. 어노테이션 Annotation 자바 어노테이션은 소스 코드에 메타데이터를 추가하는 방법 중 하나다. 주석(Comment)과는 다르게 컴파일러나 런타임 환경에서 특별한 의미를 가지며, 코드에 대한 정보를 제공하거나 프로그램 동작을 제어하는 데 사용된다. 어노테이션은 '@' 기호를 사용하여 표시하며, 클래스, 메서드, 필드 등 다양한 요소에 적용할 수 있다. 다음은 자바에서 사용되는 어노테이션의 몇 가지 예시이다. @Override 메서드가 슈퍼 클래스의 메서드를 재정의하.. 2023. 9. 21.
[Java] 열거형(Enum) 클래스로 활용하기 지난 포스팅에서는 열거형(Enum)에 대해서 가장 기본적인 내용을 알아보았다. 2023.09.19 - [쿤즈 Dev/Java] - [Java] 열거형(Enum) 사용하기 이번 포스팅에서는 열거형 클래스를 조금 더 알아보자. 열거형 클래스 Enum 열거형 클래스는 열거형을 나태내기 위한 특별한 종류의 클래스다. 열거형은 연관된 상수를 그룹화하고, 이러한 상수 집합을 나타내는 데 사용된다. 'enum' 클래스는 자바 5부터 도입되었으며, 코드의 가독성을 향상시키고 오류를 방지하는데 도움이 된다. 열거형 클래스를 만드는 방법은 열거형 상수와 동일하다. public enum Day { SUNDAY, // 0 MONDAY, // 1 TUESDAY, // 2 WEDNESDAY, // 3 THURSDAY, // 4 .. 2023. 9. 20.
[Java] 열거형(Enum) 사용하기 자바(Java)에서는 'enum'이라는 키워드를 사용할 수 있다. 'enum'은 열겨형(Enumeration)을 나타내는 특별한 데이터 유형의 키워드이다. 이번 포스팅에서는 열거형(Enum)에 대해서 알아보자. 열거형 Enum 열거형은 서로 관련된 상수들을 그룹화하고 각 상수에 이름을 부여하는 데 사용된다. 'enum'을 사용하면 코드를 더 읽기 쉬워지고 유지 관리하기 쉽게 만들 수 있다. 또한 프로그램에서 상수 값의 오류를 방지하는 데 도움이 된다. 다음은 요일에 관련된 'enum'의 예제이다. enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 위 예제에서 'Day'라는 'enum'은 각 요일을 나타낸다. 그리고 각 .. 2023. 9. 19.
[Java] 인터페이스 Interface 자바(Java)에서 인터페이스(Interface)는 추상화를 구현하는 중요한 개념 중 하나이다. 추상 클래스와 비슷하지만 몇 가지 차이점이 있다. 이번 포스팅에서는 인터페이스에 대해서 알아보자. 인터페이스 Interface 인터페이스는 클래스가 특정한 동작을 수행하기 위해 구현해야 하는 메서드들의 목록을 정의한다. 이러한 메서드는 인터페이스를 구현하는 클래스에서 반드시 구현되어야 한다. 자바에서 클래스는 다중 상속을 지원하지 않지만, 여러 인터페이스를 구현하는 것은 가능하다. 인터페이스를 사용하면 클래스 간의 느슨한 결합을 유지하면서 코드의 유연성을 높일 수 있다. 인터페이스를 정의하는 방법은 다음과 같다. interface Vehicle { // 추상 메서드(메서드 시그니처만 정의되고 구현은 하지 않음.. 2023. 9. 17.
[Java] 내부 클래스 Inner Class 자바(Java)에서는 내부 클래스(Inner Class)라는 개념이 있다. 다른 클래스 내부에 정의된 클래스를 의미한다. 이러한 내부 클래스는 어떤 것들이 있는지 알아보자. 인스턴스 내부 클래스 Instance Inner Class 인스턴스 내부 클래스는 외부 클래스의 인스턴스와 관련이 있다. 따라서 외부 클래스의 인스턴스를 생성한 후 내부 클래스의 인스턴스를 생성할 수 있다. 인스턴스 내부 클래스는 외부 클래스의 인스턴스 멤버(변수 및 메서드)에 접근할 수 있다. class Outer { int outerVar; class Inner { void innerMethod() { System.out.println("외부 클래스 변수 접근: " + outerVar); } } } 정적 내부 클래스 Static .. 2023. 9. 16.
[Java] 추상 키워드 abstract 자바(Java)에서는 'abstract'라는 키워드가 있다. 이 키워드는 클래스, 메서드 또는 인터페이스를 선언할 때 사용하는 키워드 중 하나이다. 이번 포스팅에서는 'abstract' 키워드에 대해서 알아보자. 추상 클래스 Abstract Class 추상 클래스는 다른 클래스들이 상속받아 확장할 수 있는 가장 베이스 클래스다. 추상 클래스는 일반 클래스와는 다르게 'abstract' 키워드를 사용하여 선언된다. 추상 클래스는 추상 메서드를 포함할 수 있으며, 추상 메서드는 메서드의 선언만 있고 구현은 없는 메서드다. 추상 클래스를 사용하는 주된 목적은 다른 클래스가 해당 클래스를 상속받아 필요한 메서드를 구현하도록 하기 위함이다. abstract class Shape { abstract void dra.. 2023. 9. 15.
[Java] 업캐스팅 (Upcasting)과 다운캐스팅 (Downcasting) 자바에서 객체 지향 프로그래밍을 하다 보면 아주 빈번하게 사용하는 부분이 있다. 클래스 간의 관계를 설명하기 위해서 사용되는 개념이 바로 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)이다. 이번 포스팅에서는 이 두 용어에 대해서 알아보자. 업캐스팅 Upcasting 업캐스팅은 부모 클래스 타입의 참조 변수로 자식 클래스의 객체를 참조할 수 있게 해주는 개념을 말한다. 즉, 자식 클래스의 객체를 부모 클래스의 참조 변수로 변환해서 사용하는 것을 의미한다. 업캐스팅은 자동으로 이루어진다. 아래는 간단한 예이다. class Animal { } class Dog extends Animal { } Animal animal = new Dog(); // 업캐스팅 위 코드에서 'Dog' 클래스는 'A.. 2023. 9. 14.
[유용한 정보] mockapi.io 사이트를 이용한 mock 테스트 클라이언트 앱을 만들기 위해서 항상 테스트용 데이터가 필요하다. 그래서 API 용 데이터를 JSON 형태로 만들기 파일로 테스트를 하는 경우가 대부분이었다. 하지만 실제 API 통신 여부를 확인할 수 없기에 부족한 부분이 있다. 이번 포스팅에서는 실제 데이터를 만들어 데이터를 응답하는 사이트를 알아보자. mockapi.io mock 테스트와 api 테스트를 하기 위한 사이트 mockapi.io 사이트는 아주 쉬는 방법으로 REST API를 테스트할 수 있는 사이트다. 그래서 클라이언트 작업이 상대적으로 쉽게 진행될 수 있다. 즉, 서버가 mock 작업을 해주기를 기다릴 필요가 없다는 것이다. 그룹에서는 사용하기 쉽지 않지만 팀단위 프로젝트 혹은 개인 토이 프로젝트에서는 사용하면 좋을 사이트다. 사이트 주.. 2023. 9. 13.
[Java] Object 클래스의 toString(), hashCode() 메서드 이번 포스팅은 약간 번외로 알고 가면 좋을 내용이다. 자바로 프로그래밍을 하다 보면 가끔씩 보이는 @Override 애노테이션이 있고 이 오버라이드 애노테이션이 붙은 메서드가 있다. 바로 'toString()', 'hashCode()' 메서드이다. 이번 포스팅에서는 이 메서드에 대해서 간단하게 알아보자. Object 클래스의 오버라이드 메서드 자바에서는 'Object' 클래스가 있다. 이 클래스는 자바의 클래스 계층 구조에서 최상위에 위치하며, 모든 클래스가 이 클래스로부터 상속을 받는다. 따라서 'Object' 클래스의 메서드와 기능은 모든 자바 객체에서 사용할 수 있다. 'Object' 클래스는 다양한 메서드가 정의되어 있지만 가장 중요한 메서드는 아래와 같다. eqauls(Object obj) 객체.. 2023. 9. 12.