본문 바로가기
728x90
반응형

코딩80

[JAVA] overloading과 overriding의 개념과 차이 Overloading (오버로딩): 오버로딩은 같은 메서드 이름을 가지고 매개변수의 형식 또는 개수를 다르게 정의하는 것을 의미한다. 같은 클래스 내에서 여러 메서드가 동일한 이름을 가질 수 있으며, 메서드 호출 시 전달되는 매개변수의 형식 또는 개수에 따라 호출될 메서드가 결정된다. 반환 유형은 오버로딩에 영향을 미치지 않습니다. 오버로딩은 다형성(polymorphism)을 향상시키고 코드의 가독성을 개선하며, 같은 이름의 메서드를 다양한 상황에 맞게 사용할 수 있게 한다. public class Calculator { // 메서드 add(int a, int b)는 두 정수를 받아 정수 합을 반환 public int add(int a, int b) { return a + b; } // 메서드 add(d.. 2023. 10. 18.
Java Constructor(생성자)의 개념, 특징, 및 사용 방법 Constructor(생성자)란? Java 클래스의 특별한 종류의 메서드로, 객체를 초기화하고 생성할 때 호출되는 함수다. 생성자는 클래스의 인스턴스(객체)를 생성할 때 필요한 초기화작업을수행한다. Constructor(생성자)의 특징 메서드명과 클래스명 동일: 생성자의 이름은 생성자를 식별하기 위해 항상 클래스의 이름과 동일하다. 매개변수를 가질 수 있음: 생성자는 필요에 따라 매개변수를 가질 수 있으며, 이러한 매개변수를 통해 객체의 초기 상태를 설정한다. 기본 생성자: 클래스가 어떠한 생성자도 정의하지 않으면 기본 생성자가 자동으로 생성된다. 기본 생성자는 매개변수를 가지지 않으며, 객체를 기본 상태로 초기화한다. 생성자 오버로딩: 클래스는 여러 개의 생성자를 가질 수 있고, 이들은 서로 다른 매개.. 2023. 10. 18.
"Java에서 '=='와 'equals' 메소드 비교의 차이" 교수님이 저번 수업 시간 중 물어보셨다. a == b와 a.equals(b)의 차이에 대해. 하여 기말고사를 준비할겸 적어본다. "a == b " "==" 연산자는 두 변수가 동일한 메모리 위치를 참조하는지 확인한다. 그렇기에 a와 b가 같은 String 객체를 가리키는 경우에만 true를 반환하는 것이다. 그렇기 때문에 메모리 위치가 다르면 내용이 같아도 false를 반환할 수 있다. "a.equals(b) " "a.equals(b)" .equals() 메서드는 두 String 객체의 내용이 동일한지 비교한다. 그렇기에 문자열 내용이 동일한 경우, .equals()는 true 를 반환합니다. 문자열의 내용을 비교하므로 객체의 메모리 위치가 다르더라도 내용이 같으면 true 를 반환할 수 있다. 2023. 10. 18.
[JAVA] 비정적(non-static) 멤버 변수와 정적(static) 멤버 변수의 차이와 RAM(메모리) 배치 자바를 공부하던 도중 비정적(non-static) 변수와 정적(static) 변수에 대해 RAM에 각각 어떻게 배치되는지에 대한 기록을 적어보도록 하겠다. 비정적(non-static) 멤버 변수 (인스턴스 변수): 비정적(non-static) 멤버 변수는 클래스의 각 인스턴스(객체)마다 별도의 메모리 공간에 저장된다. 각 객체(인스턴스)는 해당 변수의 값을 독립적으로 가질 수 있습니다. 인스턴스 변수는 객체가 생성될 때 초기화되며, 객체의 생명주기 동안 유지됩니다. 더보기 개별 메모리 공간: 비정적 멤버 변수는 클래스의 각 인스턴스(객체)마다 별도의 메모리 공간에 저장된다. 이것은 객체마다 독립적인 변수 값을 가질 수 있음을 의미하는데, 예를 들어, 여러 대의 자동차 객체가 있을 때, 각 자동차 객체는 .. 2023. 10. 17.
반응형