본문 바로가기
반응형

프로그래밍/Java33

[Java] Call by Reference와 Call by Value의 차이 Call by Reference와 Call by Value는 프로그래밍 언어에서 함수나 메소드로 값을 전달하는 방식에 관한 중요한 개념입니다. 두 방식의 주요 차이점은 값을 어떻게 전달하고 메모리에 어떻게 저장하는가에 있습니다. 이제 두 방식을 자세히 알아보겠습니다. 💡 Call by Value (값에 의한 호출) 매개변수로 전달되는 값(인자)의 복사본이 함수에 전달됩니다. 이 복사본을 함수 내에서 사용하며, 함수 내에서 변수 값 변경은 호출자(caller)에게 영향을 미치지 않습니다. Call by Value는 주로 기본 데이터 타입(정수, 실수, 불린 등)에 대해 적용됩니다. 호출자와 호출된 함수가 서로 다른 메모리 공간에 위치한 복사본을 사용하는 방식입니다. 1 2 3 4 5 6 7 8 9 10 1.. 2023. 10. 12.
[Java] CheckedException과 UncheckedException의 차이 💡CheckedException 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class CheckedExceptionExample { public static void main(String[] args) { try { File file = new File("non_existent_file.txt"); Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } sca.. 2023. 10. 11.
[Java] Interface와 Abstract Class의 차이 💡Interface 추상 메서드만 포함: 인터페이스는 추상 메서드의 집합으로 이루어져 있습니다. 추상 메서드는 구현 내용이 없고 메서드 시그니처만 정의됩니다. 클래스가 인터페이스를 구현하면 해당 클래스는 인터페이스에 정의된 모든 메서드를 구현해야 합니다. 다중 상속 지원: Java에서 클래스는 단일 상속만 허용되지만, 여러 인터페이스를 구현할 수 있습니다. 이로 인해 다중 상속의 일부 장점을 활용할 수 있습니다. 구현을 강제함: 클래스가 인터페이스를 구현하면 그 인터페이스에 정의된 모든 메서드를 반드시 구현해야 합니다. 이를 통해 특정한 동작을 보장하고, 코드의 일관성을 유지합니다. 인스턴스 생성 불가: 인터페이스는 객체를 직접 생성할 수 없습니다. 따라서 인터페이스를 구현한 클래스의 인스턴스를 생성하여.. 2023. 10. 11.
[Java] 클래스, 객체, 인스턴스의 차이 💡클래스란? 클래스는 객체의 설계도 또는 템플릿입니다. 클래스는 어떤 객체가 가져야 할 속성 (멤버 변수)과 동작 (메서드)을 정의합니다. 클래스는 객체를 생성하기 위한 설계도 역할을 하며, 객체를 생성할 때 실제 데이터가 아닌 객체의 특성과 행동을 정의합니다. 클래스는 여러 개의 객체를 생성할 수 있는 일종의 틀로 생각할 수 있습니다. 1 2 3 4 5 6 7 8 9 class Car { String make; String model; void start() { // Car 객체를 시작하는 동작 } } cs 💡객체란? 객체는 클래스의 인스턴스입니다. 즉, 클래스를 기반으로 실제 데이터를 포함하는 실체를 의미합니다. 객체는 클래스의 구조대로 생성되며, 클래스의 멤버 변수에 실제 데이터를 저장할 수 있습니.. 2023. 10. 10.
반응형