• 분류 전체보기 (512)
    • 개발남노씨(Coding Test) (6)
    • 고농축 백엔드 (17)
    • 재귀함수 DFS 총정리 (1)
    • 프론트엔드 날개달기:Vuejs.React (1)
    • 훈훈한 javascript (5)
    • 렛츠기릿 자바스크립트 (18)
    • 나도코딩 (1)
      • 웹 스크래핑 (1)
    • 프로그래머스(자바스크립트) (41)
      • LV.0(자바스크립트) (41)
    • 프로그래머스(자바) (121)
      • LV.0(자바) (56)
      • LV.1(자바) (41)
      • LV.2(자바) (23)
    • 프로그래머스(파이썬) (127)
      • LV.0(파이썬) (46)
      • LV.1(파이썬) (51)
      • LV.2(파이썬) (30)
    • 임시저장소 (31)
    • 프로젝트 (0)
    • 자바 알고리즘 (13)
      • 알고리즘 직빵 자바 문법 (10)
      • String(문자열) (3)
    • 파이썬 알고리즘 (93)
      • 알고리즘 직빵 파이썬 문법 (20)
      • 알고리즘 백준 (2)
      • 파이썬 알고리즘(사고력기르기) (6)
      • 파이썬 탐색 & 시물레이션 (8)
      • 이분탐색 & 그리디 알고리즘 (10)
      • 스택, 큐, 해쉬, 힙 (10)
      • 완전탐색과 DFS기초 (12)
      • DFS, BFS 활용 (19)
      • 동적계획법 (6)
    • 자바 (27)
      • Java TPC(생각하고, 표현하고, 코딩하고) (17)
      • Java (중요하고, 이해 안 되고, 어려운) (10)
    • 스프링 (5)
      • 스프링 MVC 패턴 2편 (5)
hELLO · Designed By 정상우.
@@#@@

기록용 블로그

자바/Java TPC(생각하고, 표현하고, 코딩하고)

문자열(String)이 객체라고요?

2022. 10. 27. 14:50

String클래스

  • 자바에서 문자열은 쌍 따옴표 “ ” 로 감싸면 된다.
  • 자바에서 문자열을 저장하는 기본 자료형(DataType)은 없다.
  • 문자열은 여러가지 조작을 할 수 있기 때문에 별도의 클래스로 참조자료형( java.lang.String)을 만들어 두었다.
  • 그래서 자바에서 문자열은 책, 영화, 회원 처럼 객체로 취급된다.

문자열 생성방법

코드로 실습

public class TPC34 {

       public static void main(String[] args) {

            String str1 = new String("APPLE");    //Heap Area에 서로 다른번지의 APPLE객체가 2개 생성된다.
            String str2 = new String("APPLE");

           System.out.println("str1==str2: "+str1==str2);    //두 번지의 주소가 다르다.

//String class에 있는 equals()는 Object class의 equals()메소드를 이미 오버라이딩하고 있다.
//아래의 코드에서 "문자열 비교가능"

         if(str1.equals(str2)) {

                 System.out.println("두 문자열 객체가 동입합니다.");
             }else {

                 System.out.println("두 문자열 객체가 다릅니다.");
             }


           String str3 = "컴퓨터";    //new라는 연산자가 없더라도 APPLE객체 1개가 메모리의 Literal Pool에 생성된다.
           String str4 = "컴퓨터";

          System.out.println(str3==str4); //동일한 번지의 객체변수(str3,str4)는 APPLE객체 1개를 가르킨다.
      }
}

 

String클래스에서의 equals()

String class의 equals 메소드는 Oject class의 equals()메소드를 조상님께서 이미 오버라이딩 해놓고 있다.

     String str1 = new String("SAMSUNG");

     String str2 = neew String("APPLE");

str1.equals(str2); 하면 주소비교가 아닌

str1이 가리키는 객체와 st2이 가리키는 객체를 비교한다.

저작자표시 비영리 변경금지 (새창열림)

'자바 > Java TPC(생각하고, 표현하고, 코딩하고)' 카테고리의 다른 글

ArrayList  (0) 2022.10.27
내가 만든 최초의 API - IntArray, ObjectArray  (0) 2022.10.27
Object 클래스는 신이야  (0) 2022.10.27
추상클래스 vs 인터페이스  (0) 2022.10.27
인터페이스(100% 다형성 보장) & final, static  (0) 2022.10.27
    '자바/Java TPC(생각하고, 표현하고, 코딩하고)' 카테고리의 다른 글
    • ArrayList
    • 내가 만든 최초의 API - IntArray, ObjectArray
    • Object 클래스는 신이야
    • 추상클래스 vs 인터페이스
    @@#@@
    @@#@@
    자바, 스프링, 알고리즘, 깃허브, 파이썬

    티스토리툴바