profile
순우리말 백엔드 개발자

Java - 자바에는 call by value 만 있다:)

자바에서의 파라미터는 call by value로서만 동작되며, 원시값이 복사 되느냐 주소값이 복사되느냐 차이가 있을뿐. 그리고 매개변수에 복사된 값에 따라, 원시값이면 바로 연산을하고 주소값이면 해당 메모리 주소를 참조해 값을 가져와 연산할 뿐. C언어에서는 포인터(*) 변수를 파라미터 받게 하고 함수를 호출할떄 주소연산자(&) 를 이용해 주소값을 직접 넘겨 직접적인 메모리 참조가 가능. 그래도 원시값을 복사하느냐, 주소값은 복사하느냐에 따라 반환 결과가 달라지기 때문에 세간에서는 이 둘을 구분하기 위해 call by value / call by address 로 명명 지어 구분하기도 함. (어차피 똑같은 value 복사지만 굳이 구분하자면 🤔) 다만 외부적인 관점에서 보면 주소값이 복사되든, 포인터를 이용해 참조하든, 메모리 안에 있는 데이터를 참조해 연산하는 동작 자체는 같기 때문에, 사용하는 입장에서는 둘은 차이가 없다고 보면 된다. 참고사이트: https://in

2023년 3월 10일
·
0개의 댓글
·

Java - 배열 초기화 방법들

배열을 초기화 한 후에는 배열에 직접적으로 값을 할당하거나, 배열의 크기를 늘리고 값을 할당해야 합니다. 아래는 빈 배열에 값 할당하는 예시 코드입니다. 위 코드에서 a = new int[]{1, 2, 3, 4, 5}; 라인에서 새로운 배열 객체를 생성하고 값을 할당합니다. 이후에 변수 a는 새로 생성된 배열을 참조하게 됩니다. 만약 기존에 선언한 배열을 사용하고 싶다면, 배열의 크기를 늘리고 값을 할당할 수 있습니다. 예를 들어, 다음과 같이 작성할 수 있습니다. 또는 반복문을 사용하여 배열의 모든 요소에 값을 할당할 수 있습니다.

2023년 3월 8일
·
0개의 댓글
·

Java - sort() 클래스를 sorted해보기!

2023년 2월 28일
·
0개의 댓글
·

Java - 제너릭 사용해보기

2023년 2월 27일
·
0개의 댓글
·

Java - new 객체 정의

2023년 2월 27일
·
0개의 댓글
·

Java - Object 다뤄보기

Object 로 메서드 하나만 사용하여 모든 형을 다 받을수 있네 좋다

2023년 2월 27일
·
0개의 댓글
·

Java - instanceof

2023년 2월 27일
·
0개의 댓글
·

Java - 자바 입문 무료 (프로그래머스) 예외처리 throws

ExceptionExam클래스의 get50thItem메소드에서는 매개변수로 받은 array의 50번째 값을 return합니다. 만약 array의 크기가 50보다 작을 경우에는 ArrayIndexOutOfBoundsException이라는 예외가 발생하는데요. get50thItem이 ArrayIndexOutOfBoundsException를 throw하도록 정의해 보세요.

2023년 2월 25일
·
0개의 댓글
·

Java - 자바 입문 무료 (프로그래머스)

Taxi클래스는 Meter인터페이스를 구현하고 있습니다. Meter인터페이스를 살펴보면 start,stop이외에도 default메소드인 afterMidnight이라는 메소드가 추가되었는데요. afterMidnight은 default로 선언되어 있기 때문에 Taxi에서 별도로 구현하지 않더라도 에러가 발생하지는 않습니다.

2023년 2월 25일
·
0개의 댓글
·

Java - this()의 사용법

2023년 2월 24일
·
0개의 댓글
·

Java - abstract class 사용 실습

2023년 2월 24일
·
0개의 댓글
·

Java - 생성자로 객체 정의해보기

2023년 2월 24일
·
0개의 댓글
·

Java - 생성자 공부해보기

class Main { public static void main(String[] args) { new 사람().걷다(); System.out.println(new 사람().a왼팔.길이 + "cm"); // 출력 : 100cm } } class 사람 { 팔 a왼팔; 사람 () { a왼팔 = new 팔(); // 만약에 팔 클래스에 팔 생성자를 못 쓰는 상황이다. // 그렇다면 아래와 같은 코드가 필요하다. //a왼팔.길이 = 100; } void 걷다() { System.out.println("사람이 걷습니다."); } } class 팔 { int 길이; 팔() { this.길이 = 100; } }

2023년 2월 24일
·
0개의 댓글
·