Java/Grammer
Call by value
함수 호출 시 매개변수로 전달받은 인자는 원본 데이터일까요? 우리 자바는 "원본 데이터가아닌 복사한 값을 전달받는 Call by value 방식"을 사용합니다. 예시를 통해 알아봅시다. public class CallByValue { public static void toZero(int data) { data = 0; } public static void main(String[] args) { int data = 100; System.out.println("호출 전 : " + data); //호출 전 : 100 toZero(data); System.out.println("호출 후 : " + data); //호출 후: 100 } } toZero() 메서드 내에서 원본 데이터를 변경하려 했지만 변경이 되지 ..
생성자와 상속의 관계
생성자는 객체 생성 시 자동으로 호출되는 메서드입니다. 하지만 생생자는 일반적인 메서드와는 달리 "상속이 불가능" 합니다. 이에 따라 상속받은 클래스는 생성자를 매번 "재정의" 해주어야 합니다. 그렇다면 여러분은 상속받은 클래스가 생성자를 재정의하는 것을 보신적이 있으신가요? 아마 많이 보지 못했을 겁니다. 부모 클래스의 생성자가 "매개변수가 없다면 자식 클래스의 생성자는 생략이 가능" 하기 때문이죠. public class Parent { //부모 생성자 public Parent() { System.out.println("constructor"); } } public class Me extends Parent{ public void say() { System.out.println("hello"); } ..