CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /Java: ๋ฌธ์ž์—ด์ด Null์ธ์ง€, ๋น„์–ด ์žˆ๋Š”์ง€ ๋˜๋Š” ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java: ๋ฌธ์ž์—ด์ด Null์ธ์ง€, ๋น„์–ด ์žˆ๋Š”์ง€ ๋˜๋Š” ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
Java์—์„œ๋Š” ์ดˆ๋ณด์ž๊ฐ€ null, ๋นˆ ๋ฌธ์ž์—ด ๋˜๋Š” ๋นˆ ๋ฌธ์ž์—ด์„ ํ˜ผ๋™ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฐจ์ด์˜ ์„ ์„ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ์˜ ์ •์˜์— ๋”ฐ๋ผ ๊ฐ‘์‹œ๋‹ค.

Java์—์„œ "null" ๋ฌธ์ž์—ด์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

" Java์—์„œ null ๋ฌธ์ž์—ด์€ ๋ง ๊ทธ๋Œ€๋กœ ์˜ˆ์•ฝ์–ด " null "๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š๋Š” ๋ฌธ์ž์—ด์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค .โ€
Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ " null " ๋ฌธ์ž์—ด์€ ์•„๋ฌด๊ฒƒ๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ String ๋ณ€์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์—๋„ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

null ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋งค์šฐ ์ž์ฃผ ๋ฌธ์ž์—ด ์— null์ด ์ง€์ •๋˜์–ด ์™„์ „ํžˆ ๋ฌด๋ฃŒ์ด๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŠน์ • ๋ชฉ์ ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. null String ์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด java.lang.NullPointerException ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค . ๋‹ค์Œ์€ null String ์„ ์–ธ์„ ์„ค๋ช…ํ•˜๋Š” ๊ธฐ๋ณธ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค . ๋˜ํ•œ ์œ ํšจํ•œ null String ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค .

public class Example {

	public static void main(String[] args) {

		// check if it is a null string
		String myName = null;
		String nullString = null;
		
		
		if (myName == null) {
			// print if the string is null
			System.out.println("The String = " + myName);
		}

		// another way to check if a string is null
		if (myName == nullString) {
			System.out.println("Both strings are null.");
		}
		
		myName = "Lubaina Khan";
		if (myName != null) {
			System.out.println("The String = " + myName);
		}
	}
}

์‚ฐ์ถœ

๋‘ ๋ฌธ์ž์—ด ๋ชจ๋‘ null์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด = null ๋ฌธ์ž์—ด = ๋ฃจ๋ฐ”์ด๋‚˜ ์นธ

Java์—์„œ "๋นˆ" ๋ฌธ์ž์—ด์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

" Java์—์„œ ๋นˆ ๋ฌธ์ž์—ด์€ ๊ธธ์ด๊ฐ€ 0์ธ ๋ฌธ์ž์—ด์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค."
๋ฌธ์ž์—ด ์ด ๋น„์–ด ์žˆ์œผ๋ฉด ์ฐธ์กฐ ๋ณ€์ˆ˜๊ฐ€ ๊ธธ์ด๊ฐ€ 0์ธ ๋ฌธ์ž์—ด ์„ ๋ณด์œ  ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค . Java์—์„œ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋ฌธ์ž์—ด ์ด ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋‚ด์žฅ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 0 ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ๊ทธ๊ฒƒ์€ ๋‹น์‹ ์„ ์œ„ํ•ด ์ผ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์˜ˆ์ œ๋ฅผ ์œ„ํ•ด ๋ฌธ์ž์—ด์ด ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ ์ œ๊ณต ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์Šต์„ ์œ„ํ•ด "๊ธธ์ด" ๊ฒ€์‚ฌ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๋˜ํ•œ ์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์ด null์ธ์ง€ ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋นˆ ์ˆ˜ํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ


public class Example1 {

	public static void main(String[] args) {

		// check if it is an "empty" string

		String myName = new String();

		System.out.println("The String = " + myName);

		// not sure if the string is either null or empty

		System.out.println("Is the String null? " + (myName == null));

		System.out.println("Is the String empty? " + myName.isEmpty());

		// will go in the 'if block' if any one of the checks are true
		if (myName != null || myName.isEmpty()) { 

			myName = "Lubaina Khan"; 
			System.out.println("The String = " + myName);
		}
	}
}

์‚ฐ์ถœ

๋ฌธ์ž์—ด = ๋ฌธ์ž์—ด์ด null์ž…๋‹ˆ๊นŒ? false ๋ฌธ์ž์—ด์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ง„์ •ํ•œ The String = ๋ฃจ๋ฐ”์ด๋‚˜ ์นธ

Java์—์„œ "๋นˆ" ๋ฌธ์ž์—ด์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

"์ž๋ฐ”์—์„œ " ๊ณต๋ฐฑ " ๋ฌธ์ž์—ด์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ณต๋ฐฑ์ด ์žˆ๋Š” ๋ฌธ์ž์—ด ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค ."
์•ž์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด " ๋นˆ " ๋ฌธ์ž์—ด์€ ๋ฌธ์ž์—ด ์ด null์ด๊ฑฐ๋‚˜ ๋น„์–ด ์žˆ๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค . ๋ฌธ์ž์—ด์ด ๋Œ€๋ถ€๋ถ„ ์œ ์šฉํ•˜์ง€ ์•Š์€ ๊ณต๋ฐฑ, ๋งŽ์€ ๊ณต๋ฐฑ, ํƒญ ๋˜๋Š” ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . Java๋Š” String ์˜ ๋ชจ๋“  ๊ณต๋ฐฑ์„ ํ™•์ธํ•˜๋Š” ๋‚ด์žฅ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์ง€ ์ˆ˜ํ‘œ ์‚ฌ์šฉ ์˜ˆ


public class Example2 {

	public static void main(String[] args) {

		// check if it is a "blank" string

		String myName = new String("   \t  \n    \t \t   ");

		System.out.println("The String = " + myName);

		System.out.println("Is the String null? " + (myName == null));

		System.out.println("Is the String empty? " + myName.isEmpty());
		
		System.out.println("Is the String blank? " + myName.isBlank());

		myName = myName.concat("Lubaina Khan");
		if (!myName.isEmpty()) {
			System.out.println("The String = " + myName);
		}
	}
}

์‚ฐ์ถœ

๋ฌธ์ž์—ด = ๋ฌธ์ž์—ด์ด null์ž…๋‹ˆ๊นŒ? false ๋ฌธ์ž์—ด์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๊นŒ? false ๋ฌธ์ž์—ด์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ง„์ •ํ•œ The String = ๋ฃจ๋ฐ”์ด๋‚˜ ์นธ

๊ฒฐ๋ก 

๋‹ค์Œ์€ Java์—์„œ null , ๋นˆ ๋ฌธ์ž์—ด ๋ฐ ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค . ์ง€๊ธˆ์ฏค์ด๋ฉด ๊ทธ๊ฒƒ๋“ค์ด ์„œ๋กœ ์–ผ๋งˆ๋‚˜ ๋‹ค๋ฅธ์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ธฐ์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰์„ ํ†ตํ•ด ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์–ธ์ œ๋‚˜ ๊ทธ๋ ‡๋“ฏ์ด ๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•ด ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ–‰๋ณตํ•œ ํ•™์Šต!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION