JavaRush /Java Blog /Random-KO /커피 브레이크 #105. Java에서 문자열이 불변인 이유는 무엇입니까? Java의 인터페이스 및 다중...

커피 브레이크 #105. Java에서 문자열이 불변인 이유는 무엇입니까? Java의 인터페이스 및 다중 상속

Random-KO 그룹에 게시되었습니다

Java에서 문자열이 불변인 이유는 무엇입니까?

출처: Dev.to Java에서 문자열이 불변인 이유를 이해하기 전에 왜 문자열을 불변으로 만드는지 생각해 볼 필요가 있습니다. 커피 브레이크 #105.  Java에서 문자열이 불변인 이유는 무엇입니까?  Java의 인터페이스 및 다중 상속 - 1불변이란 일단 생성되면 변경할 수 없음을 의미합니다. 불변성을 만드는 것을 생각할 수 있는 유일한 이유는 함께 사용될 때 동기화를 위해서입니다. 이것이 문자열이 불변인 이유입니다. Java에서는 String 객체가 String Pool에서 공유되고 캐시됩니다. 문자열이 동일한 값을 갖는 경우 여러 스레드 간에 문자열이 저장되고 공유되는 힙의 특정 위치입니다. 예를 들어, 문자열 풀에 값이 "test"인 문자열이 이미 있고 프로그램이 동일한 값을 가진 다른 문자열 개체를 생성하려는 경우 새 문자열 개체를 생성하는 대신 동일한 참조를 얻습니다. 이제 우리는 문자열이 힙에 어떻게 저장되는지 알았습니다. 왜 변경되지 않았는지 살펴보겠습니다.
  1. 불변성의 첫 번째 이유는 스레드 안전성입니다. 행은 행 풀의 여러 스레드에서 공유되므로 임의 스레드가 이를 변경하도록 제한해야 합니다. 행에 대한 변경 사항은 동일한 행에 액세스하는 다른 스레드에 영향을 미칠 수 있습니다. 스레드가 행 값을 업데이트하려면 다른 행을 생성하고 이를 참조해야 합니다.

  2. 일반적으로 Map 의 키로 String을 사용합니다 . 문자열이 변경 가능하다면 누구나 문자열 값을 변경할 수 있으며 실제 키를 잃게 됩니다.

Java의 인터페이스 및 다중 상속

출처 : Dev.to 다중 상속이 무엇인지 이해해 봅시다. 다중 상속은 객체 또는 클래스가 둘 이상의 상위 객체 또는 상위 클래스로부터 기능을 상속할 수 있는 일부 객체 지향 프로그래밍 언어의 기능입니다. 커피 브레이크 #105.  Java에서 문자열이 불변인 이유는 무엇입니까?  Java의 인터페이스 및 다중 상속 - 1위 이미지에서 볼 수 있듯이 다중 상속 자식 클래스는 두 개 이상의 기본 클래스를 가질 수 있지만 이를 달성하려면 인터페이스가 필요합니다.

상호 작용

Java의 인터페이스는 클래스의 청사진입니다. 정적 상수와 추상 메서드가 있습니다. 즉, 인터페이스는 추상 메서드와 변수만 포함할 수 있으며 메서드 본문은 가질 수 없습니다. 추상 클래스와 같은 방식으로 생성할 수 없습니다.

그렇다면 이러한 메소드의 본문을 어디에서 선언합니까?

메소드의 본문은 프로그래머의 요구 사항에 따라 메소드가 필요한 클래스 내부에 선언됩니다.

인터페이스를 선언하는 방법은 무엇입니까?

인터페이스는 인터페이스 키워드를 사용하여 선언할 수 있습니다 . 통사론:
interface interface_name {abstract methods}

메모

클래스에서 선언된 인터페이스를 사용하려면 Implements 키워드를 사용해야 합니다 .

구현?

먼저 인쇄 인터페이스를 만들고 그 안에 추상 print() 메서드를 만듭니다 .
interface printgib{
void print();
}
이제 클래스에서 사용할 인터페이스가 준비되었으므로 abcgk 클래스를 만들고 여기에 인터페이스를 구현해 보겠습니다.
public class abc implements printgib{
public void print(){                     //1st implementation of print
System.out.println("I love you 3000");
}
public static void main(String[] args){
abc obj = new abc();
gk obj1 = new gk();
obj.print();
obj1.print();
}
}

class gk implements printgib{
public void print(){                   //2nd implementation of print
System.out.println("I am Gk");
}
}
위의 코드에서 볼 수 있듯이 다중 상속을 달성하고 인터페이스를 구현했습니다. 이제 코드를 실행하려면 파일을 저장하고...
javac file_name.java
java abc

결과:

커피 브레이크 #105.  Java에서 문자열이 불변인 이유는 무엇입니까?  Java의 인터페이스 및 다중 상속 - 2
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION