트랙
/
Java
Java
/
연습 문제
/
마케팅팀의 Tim
마케팅팀의 Tim

마케팅팀의 Tim

학습 연습 문제

소개

null 허용성

Java에서 null 리터럴은 값이 없음을 나타내는 데 사용해요.

Java의 기본형은 모두 기본값을 가지고 있어서 절대 null이 될 수 없어요. 관례적으로 기본형은 소문자로 시작해요. 예를 들어 int가 있어요.

참조형은 객체의 메모리 주소를 담고 있으며 null 값을 가질 수 있어요. 참조형은 일반적으로 대문자로 시작해요. 예를 들어 String이 있어요.

기본형 변수에 null 값을 할당하려고 하면 컴파일 오류가 발생해요. 변수는 항상 할당된 타입의 기본형 값을 가지기 때문이에요.

//Throws compile time error stating the required type is int, but null was provided
int number = null;

참조형 변수에 null 값을 할당해도 컴파일 오류가 발생하지 않아요. 참조형 변수는 null을 허용하기 때문이에요.

//No error will occur as the String variable str is nullable
String str = null;

지침

이 연습 문제에서는 공장 직원들의 이름 배지를 출력하는 코드를 작성해요.

1. 직원의 배지 출력하기

직원에게는 ID, 이름, 부서 이름이 있어요. 직원 배지 라벨은 다음과 같은 형식이에요: "[id] - name - DEPARTMENT". 직원의 배지 라벨을 반환하도록 Badge.print() 메서드를 구현해요:

Badge badge = new Badge();
badge.print(734, "Ernest Johnny Payne", "Strategic Communication");
// => "[734] - Ernest Johnny Payne - STRATEGIC COMMUNICATION"

라벨에서는 부서 이름을 대문자로 표시해야 해요.

2. 새로 입사한 직원의 배지 출력하기

컴퓨터 시스템의 특이한 점 때문에, 새로 입사한 직원은 공장에서 일을 시작할 때 아직 ID가 없는 경우가 가끔 있어요. 배지는 필수이기 때문에, 이들은 ID 접두사가 없는 임시 배지를 받아요. 아직 ID가 없는 새 직원을 지원하도록 Badge.print() 메서드를 수정해요:

Badge badge = new Badge();
Badge.print(null, "Jane Johnson", "Procurement");
// => "Jane Johnson - PROCUREMENT"

3. 사장의 배지 출력하기

공장 사장도 항상 배지를 달아야 해요. 그런데 사장에게는 부서가 없어요. 이 경우 라벨에는 부서 이름 대신 "OWNER"가 출력되어야 해요. 사장의 라벨을 출력하도록 Badge.print() 메서드를 수정해요:

Badge badge = new Badge();
badge.print(254, "Charlotte Hale", null);
// => "[254] - Charlotte Hale - OWNER"

사장이 새로 입사한 직원일 수도 있다는 점에 유의해요:

Badge badge = new Badge();
badge.print(null, "Charlotte Hale", null);
// => "Charlotte Hale - OWNER"
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Java Exercism

마케팅팀의 Tim 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Java 트랙을 개념 26개연습 문제 158개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.