Programming/Java 6
Interface와 Abstract
Interface 인터페이스란 클래스가 따라야 할 설계도와 같다.따로 필드를 작성하지 않고 추상 메소드만 정의한다. 이때 실제 로직 또한 작성하지 않고 추후 구현하는 클래스가 작성하게 한다. 인터페이스는 interface 라는 키워드를 사용하고 구현 클래스는 implements 키워드를 사용한다.이때 구현 클래스는 인터페이스 안 모든 추상 메소드를 구현해야한다. 💡 일반 class 구현과 Interface 클래스 구현의 차이일반 클래스를 추후 자식 클래스가 상속 받아서 참조할 경우 일반 클래스에서 메소드를 구현해야한다. 하지만 자식 클래스에서 참조한 메소드는 객체마다 다르게 구현될 것이기 때문에 사실 일반 클래스에서 구현한 메소드가 사용되는 일이 많지 않다.만약 Interface 클래스를 만든다면, 메..
Programming/Java | 2025. 6. 15. 23:30
JVM이 무엇이고 구조에 대해 알아보자
JVM (Java Virtual Machine) = 자바 가상 머신자바 코드를 컴파일 해서 .class 바이트 코드로 만들면 해당 코드는 JVM 환경에서 실행된다. JVM의 이점C언어와 비교해보았을 때, C언어로 작성된 Test.c 소스 코드를 컴파일 할 때 운영체제에 따른 각각의 컴파일러를 적용시켜야 한다. 예를 들어 Test.c 소스 코드를 윈도우 운영체제 환경에서 컴파일 할 때는 윈도우 컴파일러를 사용해야하며, 리눅스 환경에서 컴파일을 할 때는 리눅스 컴파일러를 사용해야 한다.하지만 Java는 운영체제 환경과 상관 없이 통합된 자바 컴파일러를 사용할 수 있다. 윈도우, 리눅스와 같은 서로 다른 운영체제여도 컴파일을 할 때는 동일한 하나의 자바 컴파일러를 이용해서 자바코드(Test.java)를 바이트..
Programming/Java | 2025. 5. 10. 00:06
원시타입과 참조 타입
자바에서 자료 타입은 원시타입(Primitive Type)과 참조타입(Reference Type)으로 나뉜다.이 두가지 타입 간에는 분명한 차이가 존재하며 필요에 따라 사용되는 것이 다르기 때문에 차이를 이번 공부로 확실히 알아둘 것이다. ⚫️ 원시 타입(Primitive Type)논리형booleantrue / false문자형char 정수형byte-128 ~127 short-32768 ~ 32767 int-2147483648 ~ 2147483647 long-9223372036854775808 ~ 9223372036854775807실수형float1.4E-45 ~ 3.4028235E38 double4.9E-324 ~ 1.7976931348623157E308 정수, 실수, 문자, 논리 리터럴 등의 실제 데이터..
Programming/Java | 2025. 5. 4. 02:32
의존성에 대해서
최근에 공부하고 있는 주제가 의존성이다.스프링을 다루면서 자주 언급되는 개념 중 하나인데, 의존성에 대해서 공부하게 되면 시스템 설계를 할 때 생각해 볼 것들이 많을 것 같아 눈여겨 보는 중이다! 의존이란?의존은 다른 객체나 함수를 사용하기만 해도 의존이라고 한다.이때 어떤 객체나 코드를 사용하기만해도 결합이라는 것이 생긴다고도 한다.우리는 의존성이나 결합도를 낮출수록 좋은 코드라고 할 수 있다. 의존성을 낮추려면?의존성 주입이라는 기법을 사용한다.의존성 주입이란 필요한 의존성을 외부에서 넣어주는 것을 의미한다. 의존성이 높은 코드class HambugerChef { public Food make() { Bread bread = new WhatBread(); Meat meat = new Beef();..
Programming/Java | 2025. 3. 20. 22:35
BufferedReader와 BufferedWriter
알고리즘 문제를 풀다가 흔히 사용하는 BufferedReader는 어떤 원리로 작동이 되고 있으며 왜 사용하는지에 대한 의문이 들었다.자바 기초를 배울때면 나오는 Scanner 또한 입력을 받는 역할인데 왜 우리는 BufferedReader를 선호할까?이번 기회에 Buffer의 기초와 이를 활용한 BufferedReader와 BufferedWriter 에 대해서 공부를 해보고자 한다.Buffer버퍼란 두개의 장치 사이에서 데이터를 전송할 때 데이터의 전송 속도나 처리 속도의 차이를 완화하는 목적으로 사용하는 기억장치다.이때 두개의 장치란 주로 CPU와 보조 기억 장치를 말하며, CPU에 비해 보조 기억장치의 처리속도가 현저히 떨어져 효율성이 저하되는 것을 막기 위해 만들어진 저장 장치가 Buffer다. ..
Programming/Java | 2025. 2. 15. 01:14