소개
게시글
고민있어요
CarouselSlider 최신 버전에서 onPageChanged 이슈 발생시
- 0
- 1
- 501
질문&답변
생성자와 소멸자
음.. 2달전 질문이기는 한데 저도 궁금해서 찾아봤습니다. 1. new 로 생성한 친구들은 기본적으로 특정 클래스에 대한 인스턴스를 생성할 때 사용하는 표현식인데 이를 저장하는 변수를 객체 변수라고 합니다. 객체 변수에 저장이 이루어지니 배열이라고 볼 수 있을 것 같습니다. 예를들어 다음과 같은 코드가 있을 때 int[] arr = new int[n]; 배열을 만든다기보다는 "1개 이상의 일련의 메모리 공간을 할당하는데 해당 메모리 공간의 개수는 n개 다"라는 의미가 자바에서는 좀 더 맞는거 같기도 하네요. 2. ArrayIndexOutOfBoundsException 배열을 위한 예외가 별도로 존재한다는 것이 클래스이기 때문인 것 같습니다. 3. int 자체가 클래스이다. 적으면서 찾다가 발견했는데 기본 자료형도 클래스네요. https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html 오라클에서 제공하는 문서를 봤는데 기본 자료형도 클래스라고 하네요. java.lang 패키지는 프로젝트 생성할 때 자동으로 import 되는 패키지 인데 여기에 클래스로 정의 되어있고 BNF문서를 아직 보지 않았지만 자주 쓰는 자료들에 대해 문법적으로 리터럴 값들 처럼 사용할 수 있도록 해준거 같아요. 나름 열심히 찾아보긴 했는데 도움이 되었으면 좋겠습니다. 열공하세요~~ ---추가--- 너무 찝찝해서 BNF 보고 왔는데요. 위에서 int 클래스는 wrapper 클래스라고 자료형을 다룰 수 있는 유틸성 클래스인 것 같네요. BNF 정의서에서는 int, float 등등을 primitive type 으로 정의가 되고 있어서 기본 자료형으로 컴파일이 이루어 지는 것 같고 배열의 경우 아에 타입 자채가 reference type> ::= class or interface type> | array type> 이렇게 되어있네요. 컴파일러가 레퍼런스로 정의하고 처리하고 있어서 참조 타입이라고 이해해야할거 같아요. 문법 정의에다 못을 밖아 놓았네요;;; BNF 링크: https://cs.au.dk/~amoeller/RegAut/JavaBNF.html
- 2
- 1
- 209