Language
Javascript 튜토리얼 사이트 추천
요즘 회사에서 틈틈히 보고 있는 사이트 입니다. https://ko.javascript.info/ 모던 JavaScript 튜토리얼 ko.javascript.info Javascript -> TypeScript -> Nest.js 순으로 학습해보겠습니다.
Java는 Call By Value일까요, Call By Reference 일까요?
Java는 기본적으로 Call By Value(값에 의한 호출)입니다. 즉, 메서드에 인자로 전달되는 값은 값 자체가 복사되어 전달되며, 메서드에서 전달된 값이 변경되어도 호출한 측에서 전달한 값에는 영향을 주지 않습니다. 그러나 객체(Object)를 인자로 전달하는 경우에는 Call By Reference(참조에 의한 호출)와 유사한 결과가 나타납니다. 객체를 전달하는 경우, 객체의 참조값(reference)이 인자로 전달되어 메서드에서 객체의 상태를 변경하면 호출한 측에서도 변경된 상태를 확인할 수 있습니다. 이러한 경우에는 객체 자체가 아닌 참조값이 복사되어 전달되는 것이므로, 객체를 복사해서 전달하는 Call By Reference와는 구분됩니다. 예를 들어, 아래와 같이 Person 객체를 인자..
Call by Value & Call by Reference
자바에서 메서드 호출 시 매개변수를 전달하는 방식은 Call by Value와 Call by Reference 두 가지가 있습니다. 두 방식의 차이점과 사용 방법에 대해 자세히 알아보도록 하겠습니다. Call by Value Call by Value는 메서드 호출 시 인자로 전달되는 값의 복사본을 전달하는 방식입니다. 따라서 메서드 내에서 매개변수의 값을 변경하더라도, 호출한 쪽에는 영향을 미치지 않습니다. 이 방식은 자바에서 기본 자료형(primitive type)을 매개변수로 전달할 때 사용됩니다. 아래의 코드에서 changeValue 메서드는 int형 변수 num을 매개변수로 받아 num의 값을 10으로 변경합니다. 하지만 main 메서드에서 num의 값은 변경되지 않습니다. public class..
preventDefault()를 사용해 선택적 Submit하기
springboot와 thymeleaf mybatis를 사용해 개발중이다. 회원가입 후 지역정보를 설정하지 않은 사람에게 modal창으로 지역정보를 강제적으로 설정하려한다. datalist를 통해서 option을 통해 입력하게 하고 해당 데이터의 유효성 검사를 마친후 submit event가 작동시 isNotEmpty function을 통해 변수값을 체크하고 유효한 데이터일 경우 submit을 하려고 했다. 동작하지 않은 원인은 preventDefault() function은 해당 요소의 기본동작을 하지 못하게 하는 함수이다. 해당 함수를 조건문안에 위치시켜야 했는데 첫 줄에 작성하여서 동작하지 않았다. 조건문 안에 preventDefault()를 넣으니 원하는 대로 동작되었다. 변경 전 document..
[JAVA] 애너테이션(annotation)
1. 애너테이션이란? 애너테이션(annotation)이 만들어진 계기와 개념에 대해 다룹니다. 더보기 자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기보다 소스코드와 문서를 하나의 파일로 관리하는 것이 낫다고 생가했따. 그래서 소스코드의 주석 '/** ~ */'에 소스코드에 대한 정보를 저장하고, 소스코드의 주석으로부터 HTML문서를 생성해내는 프로그램(javadoc.exe)을 만들어서 사용했다. /** * The common interface extended by all annotation types. Note that an * interface that manually extends this one does not define * an annotation type. Also note that..
[JAVA]열거형 (enums)
1. 열거형이란? 열거형은 서로 관련된 상수를 편리하게 선언하기 위한 것 여러 상수를 정의할 때 사용하면 유용, JDK1.5부터 추가, 논리적 오류 줄이는데 도움 Example Code 더보기 Class Card { static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static fianl int SPADE = 3; static final int TWO = 0; static final int THREE = 1; static final int FOUR = 2; final int kind; final int num; } => class Card { enum Kind { CLOVER, HEART, DIAMO..