public class StringComparison {
    public static void main(String[] args) {
        // 문자열 리터럴 방식
        String str1 = "Hello, World!";
        String str2 = "Hello, World!";

        // 문자열 객체 방식
        String str3 = new String("Hello, World!");
        String str4 = new String("Hello, World!");

        // 리터럴 방식 비교
        System.out.println("리터럴 방식(str1 == str2): " + (str1 == str2));  // true
        System.out.println("리터럴 방식(str1.equals(str2)): " + str1.equals(str2));  // true

        // 객체 방식 비교
        System.out.println("객체 방식(str3 == str4): " + (str3 == str4));  // false
        System.out.println("객체 방식(str3.equals(str4)): " + str3.equals(str4));  // true

        // 리터럴과 객체 비교
        System.out.println("리터럴과 객체 비교(str1 == str3): " + (str1 == str3));  // false
        System.out.println("리터럴과 객체 비교(str1.equals(str3)): " + str1.equals(str3));  // true

    }
}