Programming/용어 6

인자와 매개변수의 차이

아래는 이해하기 쉬운 설명이지만 잘못 이해할 수 있다. 매개변수 함수 정의시 나열되는 변수(variable) function 함수이름(매개변수1, 매개변수2, ....) { 코드 } 전달인자(argument) 함수 호출 시 전달되는 실제 값(value) 함수이름(인자1, 인자2, ....); 정확한 차이는 인자는 값이고 매개변수는 변수라는 점이다. 함수를 호출하여 사용할 때 우리는 괄호에 이미 정해진 값을 넣는다. 이것이 인자다. 반대로 함수를 선언할때 적는 것은 변수로 값이 아니다. 이것이 매개변수다.

Programming/용어 2021.11.25

static(정적)변수를 사용하는 이유

static변수를 사용한 변수 및 클래스는 프로그램 실행시 메모리(데이터 영역)에 자동으로 생성되기 때문에 프로그램의 시작에서 끝까지 사라지지 않으며, 인스턴스를 생성하지 않아도 사용할 수 있다. static(정적)변수를 사용하면 좋은 이유는 다음과 같다. 1. 인스턴스들이 각자 데이터를 갖지 않고, 메모리의 데이터영역에 값을 한 개 놔두고 공통으로 사용할 수 있다. 2. 인스턴스를 굳이 생성하지 않고, 클래스명으로도 호출할 수 있어 접근성이 개선된다. 하지만, static변수의 경우 사용에 주의해야 하는 이유는 다음과 같다. 1. thread safe하지 않다. : 모든 스레드에서 공유하므로 static으로 된 값을 변경하면, 다른 모든 thread가 영향을 받는다. : 따라서, 가능하면 값을 변경하지..

Programming/용어 2021.11.14

(초보자를 위한) Ajax이란?

초보자를 위한 Ajax설명으로 깊게 들어가지는 않고, Ajax의 전반적인 느낌을 정리하고자 함... Ajax의 개념이 헷갈리신다면 이해에 도움이 되실것이라고 생각합니다. 나는 Ajax을 처음 배울때, 아이디 중복체크를 구현하는데 Ajax을 사용했다. 아이디를 입력하면, 서버로 Ajax방식으로 요청해서, 페이지는 다시 재로딩되지 않고, 중복체크 결과를 알려준다!! 내가 경험한 건 페이지가 재로딩되지 않는다는 점이였고 Ajax은 Asynchronous JavaScript and XML의 약자였으므로 나는 아! 페이지가 재로딩되지 않는 개념이 Asynchronous즉 비동기라는 것이구나! 라고 착각해버렸다. 💡 비동기 처리와 페이지 재렌더링은 큰 연관이 없다. 페이지 재랜더링이 안되는 이유는 Ajax이 비동기..

Programming/용어 2021.11.14

자바) 추상클래스 vs 인터페이스

먼저.. 추상클래스와 클래스의 차이는 추상클래스는 객체를 생성할 수 없지만, 상속에 특화되어있다는 것이다. 왜냐하면, 추상클래스는 메소드를 그대로 상속할 수도 있고, 추상메소드를 정의하여 상속받은 클래스가 메소드를 재정의(오버라이딩) 하도록 할 수 있기 때문이다. 추상클래스와 인터페이스의 차이를 설명하기 앞서. 하나만 상속하면 된다면 인터페이스 사용할 필요없이 추상클래스만 사용하면 된다. 왜냐하면, 추상클래스는 메소드도 상속할 수 있을 뿐만 아니라 추상메소드도 상속할 수 있는 상속 특화의 클래스이니까. (뭐 어쨋든 인터페이스는 추상메소드 밖에 못 쓰고 제약이 좀 더 있다) 하지만, 필요에 따라서 우리는 다중 상속을 자바에 구현해야 하는데, 자바에서 그 방법은 인터페이스를 상속하는 방법 밖에 없다. 따라서..

Programming/용어 2021.07.27

메소드와 함수의 차이

먼저 메소드와 함수의 차이를 단순하게 설명하면, 함수란 어떤 입력값에 따라 결과를 내주는 것들(메소드, 사용자 정의 함수, 내장함수)을 가리키는 용어입니다. 반면 메소드란, 함수중애서 클래스, 구조체, 열거형 안에서 정의된 것을 말합니다. 그래서 메소드를 클래스 함수라고도 합니다. (메소드는 함수에 포함됩니다.) 함수의 의미 프로그래밍언어에서 메소드와 함수의 차이를 말하기에 앞서 함수의 의미먼저 알아보겠습니다. 프로그래밍언어의 함수는 수학에서의 함수와 유사합니다. 수학에서 함수는 f(x) = 2x+1처럼 표현하며, 함수에 x라는 값을 넣으면 그에 따른 정해진 결과가 나옵니다.(위의 함수에 x=1이면 3, x=2이면 5) 프로그래밍언어의 함수도 이와 유사합니다. 어떤 값(매개변수)을 투입하면 결과를 줍니다..

Programming/용어 2021.06.25

객체, 클래스, 인스턴스의 차이

이 글은 주장하는 바는 분명하지만, 그 주장이 정확한지는 확실하지 않습니다. 단지, 제가 책, 블로그를 뒤져가며 일관된 결론에 도달해 정리해본 내용이며 여러분이 정리하는 데 도움이 되셨으면 합니다. 다른 글도 반드시 참고하세요! 객체는 우리가 식별할 수 있는 모든 것이라고 보면 정확하지는 않더라도 유사한 설명은 될 것입니다. 즉, 우리가 눈으로 볼 수 있는 어떤 차, 사람, 개, 나무부터 학교, 경찰서, 군대조직 등등이 전부 객체입니다. 심지어 컴퓨터상에 있는 게임 캐릭터도 객체이며, 클래스라는 틀을 가지고 찍어낸 인스턴스도 객체입니다. 자바에서의 클래스는 세상에 있는 객체를 개발자가 추상화하여 만들어 낸(구현한) 인스턴스를 찍어내기 위한 틀(주형)입니다. 여기서 추상화란, 사람의 모든 정보(눈, 코, ..

Programming/용어 2021.06.23