본문 바로가기

✨ Java/etc23

자바(JAVA) - ByteArrayInputStream과 ByteArrayOutputStream ByteArrayInputStream이란? 바이트 배열('byte[ ]')에 저장된 데이터를 읽기 위한 입력 스트림이다. 객체가 생성될 때, 읽어올 데이터를 가리키는 바이트 배열이 전달된다. ByteArrayOutputStream이란? 바이트배열('byte[ ]')에 데이터를 쓰기 위한 출력 스트림이다. 객체가 생성될 때, 쓰여진 데이터를 저장할 바이트 배열이 생성되며 데이터를 기록할 때마다 해당 바이트 배열에 데이터가 쌓인다. HTML 삽입 미리보기할 수 없는 소스 input.read( ) 메서드는 스트림으로부터 바이트 데이터를 읽어와서 정수 형태로 반환한다. 반환된 정수 값은 실제 읽어온 바이트 데이터에 해당하며, 0부터 255 사이의 값을 갖는다. 읽을 데이터가 없을 경우 '-1'을 반환한다. ou.. 2023. 7. 24.
자바(JAVA) - equals와 '==' 차이 프로젝트를 하다보면 비교를 통해 값을 정해줘야하는 순간이 매우 많다. 그럴때 ==을 써보기도하고, equals 메소드를 써보기도한다. 늘 애매했던 부분이라 확실하게 알고쓰지 못해 찝찝했다. == 연산자란? == 연산자는 기본적으로 두 객체의 참조(Reference)를 비교한다. 즉, 두 변수가 동일한 객체를 가리키고 있는지를 확인한다. 만약 두 변수가 동일한 객체를 가리키고 있다면, == 연산은 true를 반환한다. 하지만 두 변수가 서로 다른 객체를 가리키고 있더라도 객체의 내용이 동일하다면, == 연산은 false를 반환한다. equals() 메소드란? equals() 메서드는 객체의 내용(값)을 비교하기 위해 사용된다. equals() 메서드는 기본적으로 Object 클래스에 정의되어 있으며, 자식.. 2023. 7. 20.
자바(JAVA) - 컴파일 타임(Compile Time) VS 런타임(Runtime) 차이 컴파일 타임이란? 작성한 코드를 바탕으로 기계가 읽을 수 있는 형태로 변환되는 과정 컴파일 에러 - 컴퓨터가 명령어를 번역하는 도중 잘못된 코드를 발견해 알려주는 것. ex) 위와 같이 화면상에서 컴퓨터가 빨간 줄로 오류를 띄워준다. 런타임이란? 컴파일 후 프로그램이 동작되어지는 때 런타임 에러 - 현재 코드에서는 알 수 없지만 프로그램을 실행했을 때 오류가 발생. 이를 위해 try ~ catch 문을 활용하여 예외처리 해준다. 2023. 7. 19.
자바(JAVA) - this , this() , super , super() 각각 차이점 this - 현재 객체를 가리키는 참조 변수로, 해당 객체의 인스턴스 멤버(필드, 메서드)에 접근할 때 사용한다. 이렇게 자바에서는 this 참조 변수를 사용해 인스턴스 변수에 접근가능하다. this 참조 변수를 사용할 수 있는 영역은 인스턴스 메소드 뿐이고, 클래스 메소드에서는 사용할 수 없다. *static 영역에서도 사용 불가 모든 인스턴스 메소드에는 this 참조 변수가 숨겨진 지역 변수로 존재하고 있다. this() - 같은 클래스의 다른 생성자를 호출하는데 사용한다. 생성자 내부에서만 사용할 수 있으며, 생성자 내에서 다른 생성자를 호출할 때, this()를 사용해 해당 클래스의 다른 생성자를 명시적으로 호출할 수 있다. 이는 생성자 오버로딩 시 코드의 중복을 피하고 재사용성을 높이는데 도움된.. 2023. 7. 18.