2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

C#에서 String Interpolation(문자열 보간)은 무엇인가요?

_____
Q1: C 에서 String Interpolation(문자열 보간)이란 무엇인가요?
A1: 문자열 보간은 문자열 안에 변수나 표현식을 직접 삽입하여 문자열을 보다 간결하고 가독성 좋게 만드는 기능입니다. C 에서는 `$` 기호를 문자열 앞에 붙이고 중괄호 `{ }` 안에 변수나 표현식을 넣어 사용합니다.

---

Q2: 문자열 보간을 사용하면 어떤 장점이 있나요?
A2:
- 코드가 더 직관적이고 읽기 쉬워집니다.
- 별도의 문자열 연결 연산자(+) 사용이 줄어들어 코드가 간결해집니다.
- 복잡한 문자열 조합 시 가독성이 향상됩니다.
- 컴파일러가 최적화를 수행할 수 있습니다.

---

Q3: 문자열 보간의 기본 문법은 어떻게 되나요?
A3:
```csharp
string name = "Alice";
int age = 30;
string result = $"Name: {name}, Age: {age}"; // 결과: "Name: Alice, Age: 30"
```

---

Q4: 문자열 보간 안에 수식이나 메서드 호출도 사용할 수 있나요?
A4: 네, 중괄호 `{}` 안에 간단한 수식, 연산, 메서드 호출 등도 가능합니다.
예:
```csharp
int x = 5, y = 10;
string s = $"Sum: {x + y}, Upper: {"hello".ToUpper()}"; // "Sum: 15, Upper: HELLO"
```

---

Q5: 문자열 보간 시 중괄호 `{` 또는 `}` 문자를 출력하려면 어떻게 해야 하나요?
A5: 중괄호를 출력하려면 중괄호를 두 번 써줍니다.
```csharp
string s = $"This is a brace: {{ and }}"; // 출력: This is a brace: { and }
```

---
Q6: 문자열 보간에서 포맷 지정도 가능한가요?
A6: 네, 문자열 보간 내 중괄호 안에 콜론 `:` 뒤에 포맷 문자열을 쓸 수 있습니다.
```csharp
DateTime now = DateTime.Now;
string s = $"Today: {now:yyyy-MM-dd}"; // 예: "Today: 2024-06-01"
```

---

Q7: 문자열 보간은 어떤 C 버전부터 사용할 수 있나요?
A7: 문자열 보간은 C 6.0부터 도입되었습니다. 따라서 .NET Framework 4.6 이상 또는 최신 .NET Core/5/6 등에서 사용 가능합니다.

---

Q8: 기존 문자열 연결 방식과 비교하면 어떤 차이가 있나요?
A8: 기존 방식:
```csharp
string s = "Name: " + name + ", Age: " + age;
```
보간 방식:
```csharp
string s = $"Name: {name}, Age: {age}";
```
보간 방식이 더 가독성이 좋고 작성하기 편리합니다.

---

Q9: 문자열 보간에서 변수 값이 null일 경우 어떻게 출력되나요?
A9: null 변수는 빈 문자열로 출력됩니다.
```csharp
string name = null;
string s = $"Name: {name}"; // 출력: "Name: "
```

---

Q10: 문자열 보간은 런타임에 비용이 많이 드나요?
A10: 일반적인 문자열 연결보다 컴파일러가 최적화를 수행하여 성능이 좋거나 비슷합니다. 다만 매우 큰 문자열을 반복 생성하는 경우에는 주의가 필요합니다.

---

요약:
C 의 문자열 보간은 문자열 안에 변수와 표현식을 쉽게 삽입해 문자열 조합을 간편하고 가독성 좋게 만드는 기능으로, `$"..."` 문법과 `{ }` 내부 삽입을 통해 다양하게 활용할 수 있습니다.
C 에서 문자열 보간(String Interpolation)은 문자열을 생성할 때 변수나 표현식을 간편하게 삽입할 수 있는 기능입니다.

C

6.0부터 도입된 이 기능은 코드의 가독성을 높이고, 문자열을 조작하는 과정을 간소화하는 데 큰 도움을 줍니다.

문자열 보간을 사용하면 문자열 내에 변수를 직접 삽입할 수 있으며, 이를 통해 복잡한 문자열 조작을 보다 직관적으로 수행할 수 있습니다.

기본 문법 문자열 보간을 사용하려면 문자열 앞에 `$` 기호를 붙입니다.

그 다음 중괄호 `{}` 안에 변수나 표현식을 넣으면 해당 값이 문자열에 삽입됩니다.

예를 들어: ```csharp string name = "Alice"; int age = 30; string greeting = $"안녕하세요, 제 이름은 {name}이고, 나이는 {age}세입니다.

"; Console.WriteLine(greeting); ``` 위의 코드에서 `greeting` 변수는 "안녕하세요, 제 이름은 Alice이고, 나이는 30세입니다.

"라는 문자열을 갖게 됩니다.

이처럼 문자열 보간을 사용하면 문자열을 더 쉽게 작성하고 이해할 수 있습니다.

표현식 사용 문자열 보간에서는 단순히 변수뿐만 아니라 복잡한 표현식도 사용할 수 있습니다.

예를 들어: ```csharp int a = 5; int b = 10; string result = $"두 수의 합은 {a + b}입니다.

"; Console.WriteLine(result); ``` 이 경우, `result` 변수는 "두 수의 합은 15입니다.

"라는 문자열을 갖게 됩니다.

이처럼 문자열 보간은 변수뿐만 아니라 계산식이나 메서드 호출 등도 포함할 수 있어 매우 유용합니다.

포맷 지정 문자열 보간에서는 포맷을 지정하여 출력 형식을 조정할 수 있습니다.

예를 들어, 소수점 이하 자릿수를 지정하거나 날짜 형식을 지정할 수 있습니다: ```csharp double pi =

3.14159; string formattedPi = $"파이의 값은 {pi:F2}입니다.

"; // 소수점 이하 2자리 Console.WriteLine(formattedPi); // "파이의 값은

3.14입니다.

" DateTime now = DateTime.Now; string formattedDate = $"오늘 날짜는 {now:yyyy년 MM월 dd일}입니다.

"; Console.WriteLine(formattedDate); // "오늘 날짜는 2023년 10월 05일입니다.

" ``` 다중 줄 문자열 보간 C 에서는 문자열 보간을 다중 줄 문자열과 함께 사용할 수 있습니다.

이 경우, 문자열 앞에 `$`와 `@`를 함께 사용하여 다중 줄 문자열을 생성할 수 있습니다: ```csharp string name = "Bob"; string multilineGreeting = $@"안녕하세요, {name}님! 오늘은 {DateTime.Now:yyyy년 MM월 dd일}입니다.

"; Console.WriteLine(multilineGreeting); ``` 위의 예제에서는 `multilineGreeting` 변수가 여러 줄로 구성된 문자열을 갖게 됩니다.

성능 고려사항 문자열 보간은 가독성을 높이는 데 유리하지만, 성능 측면에서 문자열 연결(concatenation)보다 약간 느릴 수 있습니다.

이는 문자열 보간이 내부적으로 `String.Format` 메서드를 사용하기 때문입니다.

그러나 일반적인 사용에서는 성능 차이가 미미하므로, 가독성을 우선시하는 것이 좋습니다.

결론 C 의 문자열 보간 기능은 코드의 가독성을 높이고, 문자열을 생성하는 과정을 간소화하는 데 매우 유용한 도구입니다.

변수와 표현식을 쉽게 삽입할 수 있으며, 포맷 지정 기능을 통해 출력 형식을 조정할 수 있습니다.

이러한 이유로 문자열 보간은 C 개발자들에게 널리 사용되는 기능 중 하나입니다.

작성자: 김서진 [비회원] | 작성일자: 1년 전 2024-09-09 08:39:16
조회수: 231 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.