ChatGPT의 활용 (Kotlin's Value)
안녕하세요. yeTi입니다.
ChatGPT의 활용법 (feat. 정보수집 방식의 전환) 에서 ChatGPT
의 쓰임새를 인식하고 ChatGPT를 활용하여 궁금증을 해소한 예시를 공유하고자 합니다.
문답
코틀린의 가치는 뭐라고 생각해?
Kotlin의 value 나 worth는 몇 가지 방식으로 해석할 수 있습니다:
시장 가치: Kotlin은 Android 앱 개발에 널리 사용되는 프로그래밍 언어이며 업계에서 널리 사용되고 있습니다. Kotlin에 능숙한 개발자는 종종 좋은 직업 전망을 가지고 있으며 경쟁력 있는 급여를 받을 수 있습니다.
오픈 소스 커뮤니티: Kotlin은 오픈 소스이며, 그 가치는 커뮤니티의 힘으로 측정할 수 있습니다. 커뮤니티가 활발하다는 것은 개발자를 위한 지속적인 개발, 지원 및 풍부한 리소스가 제공된다는 것을 의미합니다.
코드 품질 및 효율성: Kotlin은 간결하고 표현력이 풍부한 구문으로 유명하며, 이는 보다 효율적이고 유지 관리하기 쉬운 코드로 이어질 수 있습니다. 소프트웨어 개발에서 절약할 수 있는 시간과 노력을 고려하면 그 가치는 분명합니다.
Java와의 호환성: Kotlin은 Java와 완벽하게 상호 운용되므로 기존 Java 코드베이스를 보유한 회사 및 프로젝트에 유용합니다. 모든 것을 처음부터 다시 작성하지 않고도 코드를 현대화하고 개선할 수 있도록 원활하게 전환할 수 있습니다.
요약하면, Kotlin은 경력 기회, 코드 품질 및 호환성 측면에서 가치가 있지만 특정 목표와 상황에 따라 그 가치가 달라질 수 있습니다.
서버 언어로서 Java의 장점은 뭐야?
Java는 수년 동안 서버 측 개발을 위해 널리 선택되어 왔으며, 이러한 맥락에서 몇 가지 이점을 제공합니다:
플랫폼 독립성: Java는 "한 번 작성하면 어디서나 실행할 수 있다"는 철학으로 잘 알려져 있습니다. Java로 작성된 코드는 Java 가상 머신(JVM)이 있는 모든 플랫폼에서 실행할 수 있으므로 이식성이 뛰어납니다.
강력한 에코시스템: Java에는 서버 애플리케이션을 구축하기 위한 라이브러리, 프레임워크, 도구로 구성된 강력한 에코시스템이 있습니다. 여기에는 복잡한 서버 측 애플리케이션의 개발을 간소화하는 Spring과 같은 인기 있는 프레임워크가 포함됩니다.
성능: Java 애플리케이션의 성능을 고도로 최적화할 수 있습니다. JVM은 Java 바이트코드를 네이티브 머신 코드로 컴파일할 수 있으며, 최신 JVM은 네이티브 컴파일 언어의 성능에 필적할 수 있는 고급 최적화 기술을 갖추고 있습니다.
확장성: Java는 확장 가능한 서버 애플리케이션을 구축하는 데 적합합니다. Java EE(Enterprise Edition)와 같은 기술은 동시 요청 처리, 로드 밸런싱 및 클러스터링 기능을 제공합니다.
보안: Java에는 강력한 메모리 관리, 암호화 및 인증 지원 등 보안 기능이 내장되어 있습니다. 금융 시스템과 같이 높은 수준의 보안이 필요한 애플리케이션에 자주 선택됩니다.
커뮤니티 및 지원: Java에는 대규모의 활발한 개발자 커뮤니티가 있어 풍부한 리소스, 문서 및 커뮤니티 지원을 찾을 수 있습니다. 또한 많은 기업이 Java를 사용하므로 상당한 상업적 지원을 받을 수 있습니다.
수명: Java는 오랜 역사와 입증된 실적을 보유하고 있습니다. 많은 레거시 시스템이 Java로 구축되어 있으며, 이러한 시스템을 유지 관리하고 확장하는 데 계속해서 신뢰할 수 있는 선택이 되고 있습니다.
멀티 스레딩: Java는 동시 및 고성능 서버 애플리케이션을 구축하는 데 필수적인 멀티 스레딩을 강력하게 지원합니다.
통합: Java는 다른 기술 및 시스템과 쉽게 통합할 수 있습니다. HTTP를 포함한 다양한 프로토콜을 지원하며 데이터베이스, 메시징 시스템 및 외부 API와 상호 작용할 수 있습니다.
이전 버전과의 호환성: Java는 하위 호환성에 대한 강력한 의지를 가지고 있습니다. 즉, 이전 버전의 Java로 작성된 애플리케이션을 최소한의 변경만으로 최신 버전의 JVM에서 실행할 수 있는 경우가 많습니다.
Java는 이러한 장점이 있지만 모든 서버 측 애플리케이션에 최선의 선택이 아닐 수 있다는 점에 유의해야 합니다. 서버 언어 선택은 프로젝트의 특정 요구 사항, 개발 팀의 전문성, 기존 기술 스택과 같은 요소에 따라 달라집니다.
그렇다면 서버 언어로서 Kotlin의 가치는 뭘까?
Kotlin은 서버 측에서도 사용할 수 있는 다목적 언어이며, 이러한 맥락에서 몇 가지 이점을 제공합니다:
간결성 및 가독성: Kotlin의 간결한 구문과 표현력이 풍부한 언어 기능은 코드 가독성과 유지 관리 용이성을 높여 코드 복잡성이 높은 서버 측 개발에서 유용합니다.
Java와의 상호 운용성: Kotlin은 Java와 완벽하게 상호 운용되므로 기존 Java 라이브러리, 프레임워크 및 도구를 Kotlin 서버 측 프로젝트에서 활용할 수 있습니다. 따라서 Java 기반 시스템과 쉽게 통합할 수 있습니다.
안전성: Kotlin에는 널 안전 및 유형 추론과 같은 안전 기능이 포함되어 있어 일반적인 런타임 오류를 방지하는 데 도움이 될 수 있습니다. 이를 통해 보다 강력하고 버그 없는 서버 애플리케이션을 개발할 수 있습니다.
코루틴: Kotlin은 비동기 프로그래밍을 간소화하는 코루틴을 기본적으로 지원합니다. 이는 동시 요청을 효율적으로 처리해야 하는 서버 애플리케이션에 특히 유용합니다.
최신 언어 기능: Kotlin에는 데이터 클래스, 봉인된 클래스 및 스마트 캐스트와 같은 최신 언어 기능이 포함되어 있어 서버 측 코드를 더욱 표현력 있고 유지 관리하기 쉽게 만들 수 있습니다.
도구: Kotlin은 IntelliJ IDEA 및 Android Studio의 IDE 지원을 비롯한 강력한 툴링 에코시스템의 이점을 활용합니다. 이를 통해 개발자의 생산성과 코드 품질을 향상시킬 수 있습니다.
활발한 커뮤니티: Kotlin에는 성장하고 활발한 개발자 커뮤니티가 있습니다. 즉, Kotlin에서 서버 측 개발을 위한 리소스, 라이브러리 및 지원을 찾을 수 있습니다.
성능: 두 언어 모두 궁극적으로 Java 가상 머신(JVM)에서 실행되므로 Kotlin의 성능은 일반적으로 Java와 동등한 수준입니다. 서버 애플리케이션에 맞게 Kotlin 코드를 최적화하여 우수한 성능을 얻을 수 있습니다.
호환성: Kotlin은 Java와의 호환성을 유지하므로 동일한 프로젝트 내에서 Kotlin과 Java 코드를 쉽게 혼합할 수 있습니다. 이는 기존 Java 기반 서버 애플리케이션을 Kotlin으로 마이그레이션할 때 특히 유용합니다.
Gradle 통합: Kotlin은 서버 측 프로젝트에 널리 사용되는 Gradle 빌드 시스템과 잘 통합되어 있습니다. 따라서 빌드 및 배포 프로세스가 간소화됩니다.
요약하면, Kotlin은 현대적이고 표현력이 풍부한 언어의 장점과 Java와의 원활한 상호 운용성 및 강력한 커뮤니티를 결합하여 서버 언어로서의 가치를 제공합니다. 간결성, 안전 기능, 비동기 프로그래밍 지원으로 특히 기존 Java 인프라와 결합하거나 새로운 마이크로서비스 및 API를 구축할 때 서버 측 개발을 위한 강력한 선택이 될 수 있습니다.
Kotlin의 기반이 되는 기본 철학은 뭐야?
Kotlin의 기본 철학은 간결하고 안전하며 표현력이 풍부한 프로그래밍 언어로 기존 Java 코드와의 호환성을 유지하면서 개발자의 생산성을 향상하는 것입니다. Kotlin의 설계를 이끄는 몇 가지 주요 원칙과 철학은 다음과 같습니다:
간결성: Kotlin은 상용구 코드를 줄이고 Java에 비해 더 간결한 구문을 제공하는 것을 목표로 합니다. 이를 통해 개발자는 더 적은 코드로 의도를 명확하게 표현할 수 있으며, 이는 코드 가독성 및 유지 관리 용이성 향상으로 이어질 수 있습니다.
안전성: Kotlin은 널 안전과 유형 안전에 중점을 둡니다. 널 가능 유형을 명시적으로 만들고 널 가능 값을 안전하게 처리하도록 장려하여 널 참조 오류(NullPointerExceptions)를 제거하기 위해 노력합니다. 이는 일반적인 버그의 원인을 줄이는 데 도움이 됩니다.
상호 운용성: Kotlin의 핵심 철학 중 하나는 Java와의 원활한 상호 운용성입니다. 이미 Java를 사용하는 프로젝트에서 Kotlin을 쉽게 사용할 수 있어야 하므로 기존 코드베이스 내에서 점진적으로 Kotlin을 채택할 수 있습니다.
가독성: Kotlin 코드는 개발자 경험을 개선하는 데 중점을 두고 가독성을 높이도록 설계되었습니다. 데이터 클래스, 확장 함수, 스마트 캐스트와 같은 언어 기능을 도입하여 코드를 더욱 표현력 있고 직관적으로 만들 수 있습니다.
실용주의: Kotlin은 실제 개발 과제를 해결하는 실용적인 언어가 되기 위해 노력합니다. 불필요한 복잡성을 도입하지 않고 개발자의 삶을 더 쉽게 만드는 솔루션을 제공하는 것을 목표로 합니다.
도구: Kotlin은 원활하고 생산적인 개발 환경을 제공하기 위해 IntelliJ IDEA 및 Android Studio와 같은 인기 있는 개발 도구와 긴밀하게 협력합니다. IDE 지원, 디버깅 및 리팩토링 도구는 Kotlin 철학의 필수 구성 요소입니다.
표현력: Kotlin은 개발자가 자신의 아이디어를 최대한 명확하고 자연스럽게 코드로 표현하도록 장려합니다. 연산자 오버로딩, 접미사 함수, 간결한 람다 표현식과 같은 언어 기능이 이러한 목표에 기여합니다.
함수형 프로그래밍: Kotlin은 순수한 함수형 언어는 아니지만 함수형 프로그래밍 원칙을 수용합니다. 람다 표현식, 고차 함수 및 불변성과 같은 함수형 구성을 지원하므로 개발자는 적절한 경우 함수형 스타일의 코드를 작성할 수 있습니다.
커뮤니티 참여: Kotlin은 커뮤니티의 피드백과 기여를 소중하게 생각합니다. 공개적으로 개발되며 커뮤니티의 의견은 언어의 진화를 형성하는 데 중요한 역할을 합니다.
본질적으로 Kotlin의 철학은 소프트웨어 개발, 특히 Android 앱 개발 및 서버 측 애플리케이션의 일반적인 문제점을 해결하면서 Java와 상호 운용성을 유지하는 실용적이고 현대적이며 개발자 친화적인 언어가 되는 것입니다. 이러한 철학은 다양한 소프트웨어 개발 영역에서 Kotlin의 인기와 채택이 증가하는 데 기여했습니다.
Kotlin과 Java 중 어느 커뮤니티가 더 커?
2021년 9월의 마지막 지식 업데이트를 기준으로 Java 커뮤니티는 Kotlin 커뮤니티보다 훨씬 더 크고 확고하게 자리 잡았습니다. Java는 1990년대 중반부터 사용되어 왔으며 다양한 산업과 플랫폼에 걸쳐 방대한 사용자 기반을 보유하고 있습니다. 전 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나입니다.
반면에 Kotlin은 2011년에 도입되어 2017년에 Google에서 Android 앱 개발을 위해 공식적으로 승인한 비교적 새로운 언어입니다. Kotlin은 빠르게 성장하고 인기를 얻고 있지만 Java와 같은 수준의 광범위한 채택에는 도달하지 못했습니다.
프로그래밍 언어 커뮤니티의 규모와 활동은 시간이 지남에 따라 달라질 수 있으므로 지난 업데이트 이후에도 Kotlin 커뮤니티는 계속 성장할 수 있습니다. 하지만 그 당시에는 Java의 사용자 기반과 커뮤니티가 훨씬 더 크고 확고했습니다.
그렇게 생각한 이유는 뭐야?
물론 이전 답변은 2021년 9월의 마지막 지식 업데이트까지 이용 가능한 정보를 기반으로 한 것이었습니다. 제가 그렇게 평가한 이유는 다음과 같습니다:
자바의 수명: 자바는 1990년대 중반부터 사용되어 왔으며, 세계에서 가장 오래되고 널리 채택된 프로그래밍 언어 중 하나입니다. 오랜 역사 덕분에 커뮤니티는 수년에 걸쳐 크게 성장할 수 있었습니다.
기업 채택: Java는 대규모의 활발한 개발자 커뮤니티가 참여하는 엔터프라이즈 소프트웨어 개발에 많이 사용됩니다. 많은 미션 크리티컬 애플리케이션과 시스템이 Java로 구축됩니다.
안드로이드 개발: Java는 오랫동안 안드로이드 앱 개발의 기본 언어였습니다. Android는 가장 인기 있는 모바일 플랫폼 중 하나이기 때문에 방대한 개발자 커뮤니티를 형성하는 데 기여했습니다.
교육 및 리소스: Java는 컴퓨터 과학 및 소프트웨어 엔지니어링 커리큘럼에서 자주 가르치고 있으며, 이는 대규모 사용자 기반에 기여하고 있습니다. 또한 Java에 대한 광범위한 리소스, 서적, 강좌, 튜토리얼을 이용할 수 있습니다.
레거시 시스템: 많은 레거시 시스템과 애플리케이션이 Java로 작성되었기 때문에 Java 전문 지식과 이러한 시스템을 지원하는 상당한 커뮤니티가 지속적으로 필요합니다.
OpenJDK 및 오라클: Java의 오픈 소스 구현인 OpenJDK와 Java 에코시스템에 대한 Oracle의 참여는 Java 커뮤니티를 유지하고 성장시키는 데 중요한 역할을 해왔습니다.
Kotlin이 인기를 얻고 있고 커뮤니티가 성장하고 활발하게 활동 중이지만 Java에 비해 아직은 상대적으로 새로운 기술입니다. Kotlin의 빠른 채택은 특히 Android 앱 개발에서 두드러지게 나타나고 있으며, Google은 2017년에 공식적으로 일류 언어로 승인했습니다. 지난번 업데이트 이후 Kotlin의 커뮤니티는 계속 확장되고 있으며, 특히 Android 및 서버 측 개발과 같은 영역에서 주목을 받고 있습니다.
오라클은 Java 커뮤니티의 주류이고 구글은 코틀린 커뮤니티의 주류인데, 구글이 서버 언어로 코틀린을 위주로 채택하고 있나?
Google이 Android 앱 개발을 위한 공식 지원 언어로 Kotlin을 승인한 것은 확실히 Kotlin의 성장과 인기에 중요한 역할을 했습니다. 하지만 웹 서비스 및 백엔드 시스템과 같은 서버 측 개발을 위한 프로그래밍 언어의 선택은 모바일 앱 개발과는 다른 고려 사항의 영향을 받습니다.
다음은 염두에 두어야 할 몇 가지 요소입니다:
사용 사례: 특정 프로젝트의 프로그래밍 언어 선택은 해당 프로젝트의 특정 요구 사항에 따라 달라지는 경우가 많습니다. Kotlin은 서버 측에서 사용할 수 있는 다용도 언어이지만, Google이 Android용 Kotlin을 승인했다고 해서 반드시 서버에서 사용해야 하는 것은 아닙니다.
기존 인프라: Google과 같은 대규모 조직은 일반적으로 다양한 기술 스택을 보유하고 있으며, 서버 언어 선택은 조직 내 기존 인프라, 라이브러리 및 전문 지식에 따라 달라질 수 있습니다. Google은 오랜 기간 동안 Java, Python, Go 등 다양한 언어를 다양한 용도로 사용해 왔습니다.
개발자 전문성: 특정 언어에 숙련된 개발자의 가용성은 중요한 요소입니다. 조직에 상당한 수의 Kotlin 개발자가 있는 경우 서버에서 Kotlin을 사용하는 경향이 더 클 수 있습니다. 그러나 Google의 역사와 업계에서 Java의 보급률을 고려할 때 Google도 상당한 Java 전문성을 보유하고 있습니다.
성능 및 확장 요구 사항: 서버 측 애플리케이션에는 종종 특정 성능 및 확장성 요구 사항이 있습니다. 언어 선택은 이러한 요구 사항을 충족하는 데 가장 적합한 언어에 따라 달라질 수 있습니다. 사용 사례와 최적화 노력에 따라 Kotlin과 Java 모두 서버 개발에 적합할 수 있습니다.
커뮤니티 및 에코시스템: Google의 지원도 중요하지만, 광범위한 개발자 커뮤니티, 라이브러리 에코시스템 및 해당 언어에 사용할 수 있는 타사 도구도 서버에서의 채택에 영향을 미칠 수 있습니다. Java는 서버 측 에코시스템이 잘 구축되어 있는 반면, Kotlin의 에코시스템은 아직 발전 중입니다.
요약하면, Google이 Android용 Kotlin을 지지한다는 것은 모바일 앱 개발의 맥락에서 중요한 의미를 갖지만, 이것이 반드시 서버 언어로서 Kotlin을 선호한다는 것을 의미하지는 않습니다. Google 또는 모든 조직에서 서버 언어를 선택하는 것은 프로젝트 요구 사항, 기존 인프라, 개발자 전문성 및 성능 고려 사항 등 여러 요인의 영향을 받습니다. Kotlin과 Java는 모두 서버 측 개발을 위한 실행 가능한 옵션으로 남아 있으며, 결정은 프로젝트의 특정 요구 사항에 따라 달라집니다.
말을 듣다보니 Google이 Go 언어도 적극적으로 지원하고 있는데, Kotlin과 Go를 같은 수준에서 바라볼 수 있나?
Google은 Kotlin과 Go 프로그래밍 언어를 모두 적극적으로 지원하지만, 두 언어는 서로 다른 용도로 사용되며 Google 에코시스템 내에서 뚜렷한 사용 사례를 가지고 있습니다.
Kotlin: Google은 2017년에 Kotlin을 Android 앱 개발을 위한 일류 언어로 공식 승인했습니다. 그 이후로 코틀린은 안드로이드 개발자들 사이에서 점점 더 인기를 얻고 있으며 안드로이드 앱 개발 커뮤니티에서 널리 사용되고 있습니다. Kotlin은 주로 모바일 앱 개발과 관련이 있지만 서버 측 개발, 데스크톱 애플리케이션 등에도 사용할 수 있습니다. Google의 Kotlin 지원은 주로 Android 앱 개발과 관련된 맥락에서 이루어졌습니다.
Go(골랑): Go(Golang)는 Google에서 개발한 프로그래밍 언어입니다. 시스템 프로그래밍, 클라우드 서비스, 확장 가능하고 효율적인 서버 측 애플리케이션을 구축하기 위해 설계되었습니다. Go는 단순성, 성능, 동시 프로그래밍에 대한 강력한 지원으로 잘 알려져 있습니다. Google은 백엔드 인프라와 다양한 클라우드 서비스에 Go를 광범위하게 사용합니다.
Kotlin과 Go는 모두 Google에서 지원하지만 서로 다른 틈새 시장에 서비스를 제공합니다:
- Kotlin은 서버 측 개발을 포함한 모바일 및 범용 애플리케이션 개발과 더 관련이 있습니다.
- Go는 특히 고성능, 동시성 및 확장성이 필요한 시나리오에서 시스템 및 서버 측 프로그래밍에 선호됩니다.
요약하자면, Kotlin과 Go는 서로 다른 도메인과 사용 사례에 적합하기 때문에 서로 직접적으로 경쟁하는 것은 아닙니다. Google은 회사의 다양한 프로젝트 및 서비스 내에서 서로 다른 요구 사항을 충족하기 때문에 두 언어를 모두 지원합니다. 개발자와 조직은 프로젝트의 특정 요구 사항에 따라 Kotlin과 Go 중 하나를 선택합니다.
그렇게 생각한 이유가 뭐야?
제 답변은 2021년 9월 마지막 지식 업데이트까지의 정보와 개발 동향 및 프로그래밍 언어에 대한 Google의 공개 보증에 대한 일반적인 지식을 바탕으로 작성되었습니다. 이러한 평가를 내린 이유는 다음과 같습니다:
안드로이드용 코틀린: Google은 Google I/O 2017에서 Android 앱 개발을 위한 지원 언어로 Kotlin을 공식 발표했습니다. 이 발표는 큰 주목을 받았으며 Android 개발 커뮤니티 내에서 Kotlin이 빠르게 채택되는 데 기여했습니다. Google의 Kotlin 지원은 주로 Android의 맥락에서 강조되었습니다.
서버 측 언어로서의 Go: Go(Golang)는 Google에서 서버 측 및 시스템 프로그래밍을 위해 특별히 개발한 프로그래밍 언어입니다. 성능, 효율성 및 강력한 동시성 지원으로 잘 알려져 있습니다. Google은 클라우드 서비스 및 인프라를 포함한 다양한 내부 프로젝트에 Go를 적극적으로 사용하고 있습니다.
공식 승인: Google의 Android용 Kotlin 공식 승인은 주목할 만한 사건이었으며 개발자 커뮤니티에서 광범위하게 보도되었습니다. 이 승인은 Android 앱 개발에서 Kotlin을 사용하는 데 중점을 두었습니다.
구글의 다양한 언어 선택: 다양한 프로젝트와 서비스를 제공하는 대형 기술 기업인 Google은 각 프로젝트의 특정 요구 사항에 따라 다양한 프로그래밍 언어를 사용합니다. 여기에는 Java, Python, Go, Kotlin 등의 언어가 포함됩니다. 언어 선택은 종종 사용 사례와 프로젝트 요구 사항에 따라 달라집니다.
이 지식은 2021년 9월까지의 정보를 기반으로 하며 기술 환경은 빠르게 변화할 수 있다는 점에 유의하세요. Google의 선호도와 언어 선택은 새로운 기술과 기회가 발생함에 따라 시간이 지남에 따라 변경될 수 있습니다. 따라서 Google의 언어 기본 설정에 대한 최신 정보를 확인하려면 Google의 공식 커뮤니케이션 및 공지사항을 참조하는 것이 좋습니다.
결론
현재 자바를 주로 사용하는 개발자 입장에서 코틀린의 가치를 어떻게 인식해야 하는지에 대한 궁금증을 어느정도 해소하는데 도움이 되었습니다.
더불어 구글에서 지원하는 코틀린과 고 의 맥락도 알 수 있는 계기가 되어 유익한 시간이었습니다.
결론적으로 코틀린은 안드로이드 개발 편의성을 높이기 위해 시작한 언어로 자바와의 호환성 및 개발 편의성을 높이는데 중점을 두고 있는 언어입니다.
자바 개발자로써 코틀린을 바라보면 편의성의 가치 판단만 유효하다는 생각이 드는데요.
편의성이란 개인의 취향이나 경험을 기반으로 느끼는것이기 때문에 자바에서 코틀린으로의 전환은 개인 취향이지 대세적인 가치는 아니라는 생각이 들었습니다.
반면에 고 언어는 Google에서 서버 측 및 시스템 프로그래밍을 위해 특별히 개발한 프로그래밍 언어인만큼 성능, 효율성 및 강력한 동시성이 필요하다면 사용해볼만한 언어라는 생각이 들었습니다.
대표적으로 쿠버네티스와 같은 Google내 클라우드 서비스 및 인프라에 사용하는 것으로 알려져있고 그 외에 다양한 내부 프로젝트에 Go를 적극적으로 사용하고 있는 것을 보면 확실히 응용 어플리케이션이 아니라면 고 의 활용가치가 높다는 생각이 듭니다.
남들이 좋다고 해서 편승하는 선택이 아닌 개인의 취향을 고려한 판단을 했으면 하는 바람입니다.