String은 문자열을 받을수있는 클래스인건 아는데(그로 인해 다양한 메소드 활용도 가능하고)
근데 얘가 왜 객체임? 클래스인데..
흠ㅠ 빡대갈인가
첫 단추를 잘못 꿰서 상식밖으로 생각을 못하는건가
- dc official App
댓글 21
무슨 언어인데?
프갤러 1(100.8)2024-11-07 02:51
답글
자바입니다! - dc App
익명(61.76)2024-11-07 02:57
String a = new String(); String b = new String(); 이렇게 스트링 두개를 만들엇다고 생각해보셈
Synoeca(synoeca523)2024-11-07 03:03
답글
보통의 클래스의 객체를 생성할땐 저기서 a 와 b가 객체잖음
근데 흠 시발 대가리아프네 - dc App
익명(61.76)2024-11-07 03:14
자바에서 String 은 기본 데이터 타입이기도 하지만 아니기도 함. 자바 특성인거고, 문자열 만들면 그 문자열 가지고 다양한 메소드 자동으로 딸려옴. 반면에 int 같은 경우는 기본 데이터 타입이기에 wrapper class Integer 를 사용하거나 변환시켜줘야됨.
그냥 문자열은 만드는 즉시 메서드 딸려온다 생각하면 편할듯.
프갤러 1(100.8)2024-11-07 03:07
답글
말하신 내용은 이해하고있습니다 형님.. 생성하면 메서드들이 딸려오는건 아는데.. 어째서 String 자체가 객체라는건지 잘모르것네요 허허 String은 클래스로 알고있는데
그냥 그런갑다 하고 넘길까요 - dc App
익명(61.76)2024-11-07 03:13
답글
나도 뭔소린가 해서 검색해옴. int 나 다른 데이터 타입은 객체가 아니래. 근데 문자열은 타입이 아니라 클래스라서 생성했을 때 객체인 거래. String 클래스 내부적으로는 char 의 나열을 가지고 있고, String 클래스 메소드들을 통해 그걸 조작하는거래.
결론 : 일반 데이터 타입 != 클래스 && 일반 데이터 타입 != 객체
String == 클래스 && String s == 객체.
이렇게 된대.
프갤러 1(100.8)2024-11-07 03:23
답글
덕분에 나도 오늘 하나 정리해간다. ㄳ
프갤러 1(100.8)2024-11-07 03:24
답글
초보의 질문으로 배우는자세 배우고갑니다 형님 그냥 다시한번 쭉 봐야게씀 - dc App
익명(61.76)2024-11-07 03:27
String 자체가 객체라는 뜻은 아닌거 같은데. String을 사용하면 String 객체가 생성되는거지.
프갤러 2(14.34)2024-11-07 03:19
답글
그냥 String(을 사용하면 여러 메소드들을 활용할수있는 객체로 만들어짐 그래서) 객체다
라고 줄여말한건가.
그랬으면 뻘짓한거고.. - dc App
익명(61.76)2024-11-07 03:22
답글
string이 데이터 타입이 아니라 객체로 사용할 수 밖에 없음. 스트링으로 생성한 인스턴스는 char의 집합임
프갤러 2(14.34)2024-11-07 03:27
자바스크립트는 모든 클래스는 Object 클래스를 상속함 이거 생각하면 설계마다 다름 속도를 위해 정적인 게 필요하면 컴파일러에 고정하는 거지
나트륨찡(natriummi)2024-11-07 04:30
답글
속도를 위해 설계하는 언어들은 객체를 상속 받지 않고 정적으로 컴파일러에 구현되어 있음 int 같은 거
나트륨찡(natriummi)2024-11-07 04:31
답글
동적으로 기능이 커다란 걸 바라면 메소드 있는 객체로 만드는 거지
나트륨찡(natriummi)2024-11-07 04:32
답글
언어마다 다른데 정적인 자료형은 객체가 아니기 때문
나트륨찡(natriummi)2024-11-07 04:32
답글
자바요
프갤러 3(210.104)2024-11-07 09:14
컴파일러를 모르니까 이런 의문이 생기는거임
익명(114.30)2024-11-07 06:18
이게 무슨 소리임?
프갤러 3(210.104)2024-11-07 09:15
장애인
프갤러 4(116.40)2024-11-07 09:38
String a = "123"
이런식으로 쓴거 컴파일하고 디컴파일 떠보면 걍 String a = new String("123"); 으로 나옴
걍 편의성을 위해서 그렇게 예외 규칙을 정한 것 뿐임
그래서 "123" != "123" 인거임
new String(...) != new String(...) 니까
무슨 언어인데?
자바입니다! - dc App
String a = new String(); String b = new String(); 이렇게 스트링 두개를 만들엇다고 생각해보셈
보통의 클래스의 객체를 생성할땐 저기서 a 와 b가 객체잖음 근데 흠 시발 대가리아프네 - dc App
자바에서 String 은 기본 데이터 타입이기도 하지만 아니기도 함. 자바 특성인거고, 문자열 만들면 그 문자열 가지고 다양한 메소드 자동으로 딸려옴. 반면에 int 같은 경우는 기본 데이터 타입이기에 wrapper class Integer 를 사용하거나 변환시켜줘야됨. 그냥 문자열은 만드는 즉시 메서드 딸려온다 생각하면 편할듯.
말하신 내용은 이해하고있습니다 형님.. 생성하면 메서드들이 딸려오는건 아는데.. 어째서 String 자체가 객체라는건지 잘모르것네요 허허 String은 클래스로 알고있는데 그냥 그런갑다 하고 넘길까요 - dc App
나도 뭔소린가 해서 검색해옴. int 나 다른 데이터 타입은 객체가 아니래. 근데 문자열은 타입이 아니라 클래스라서 생성했을 때 객체인 거래. String 클래스 내부적으로는 char 의 나열을 가지고 있고, String 클래스 메소드들을 통해 그걸 조작하는거래. 결론 : 일반 데이터 타입 != 클래스 && 일반 데이터 타입 != 객체 String == 클래스 && String s == 객체. 이렇게 된대.
덕분에 나도 오늘 하나 정리해간다. ㄳ
초보의 질문으로 배우는자세 배우고갑니다 형님 그냥 다시한번 쭉 봐야게씀 - dc App
String 자체가 객체라는 뜻은 아닌거 같은데. String을 사용하면 String 객체가 생성되는거지.
그냥 String(을 사용하면 여러 메소드들을 활용할수있는 객체로 만들어짐 그래서) 객체다 라고 줄여말한건가. 그랬으면 뻘짓한거고.. - dc App
string이 데이터 타입이 아니라 객체로 사용할 수 밖에 없음. 스트링으로 생성한 인스턴스는 char의 집합임
자바스크립트는 모든 클래스는 Object 클래스를 상속함 이거 생각하면 설계마다 다름 속도를 위해 정적인 게 필요하면 컴파일러에 고정하는 거지
속도를 위해 설계하는 언어들은 객체를 상속 받지 않고 정적으로 컴파일러에 구현되어 있음 int 같은 거
동적으로 기능이 커다란 걸 바라면 메소드 있는 객체로 만드는 거지
언어마다 다른데 정적인 자료형은 객체가 아니기 때문
자바요
컴파일러를 모르니까 이런 의문이 생기는거임
이게 무슨 소리임?
장애인
String a = "123" 이런식으로 쓴거 컴파일하고 디컴파일 떠보면 걍 String a = new String("123"); 으로 나옴 걍 편의성을 위해서 그렇게 예외 규칙을 정한 것 뿐임 그래서 "123" != "123" 인거임 new String(...) != new String(...) 니까