본문 바로가기
728x90

전체 글 54

? / ?? - C#의 물음표 C# 코드에서 가끔 물음표 두개(??)를 볼 수 있다. 기본적으로 물음표 한개(?) 는 Nullable을 뜻 한다. 그러니까 이 값이 null 일 수도 있다는 것을 명시해준다. string ? str; // str가 null일수도 있다. 그렇다면 물음표 두개(??)는 무엇을 뜻할까? 위의 어트리뷰트와 비슷하다. 얘가 null이야 아니야? null이면 이렇게 해주고, null이 아니면 저렇게 해줘. 약간 조건문의 냄새가 나지 않는가? 맞다. 조건문의 성격을 띈 연산자다. 아래 코드를 보자. string name = param ?? "default"; // param이 null이 아니라면 name에 param을 넣고, null 이라면 default를 넣어라. 이다. // param은 메소드의 파라미터든, 위.. 2020. 7. 13.
Delegate - 델리게이트 1. Delegate란 무엇인가? (이하 델리게이트) 처음 델리게이트를 접했을 땐, 왜 쓰는지도 잘 이해가 안 됐고 단어 자체도 낯설었다. 그럼 그 사용을 한번 알아가보자. 사전에는 어떤 사람이나 그룹을 대신하는 사람이라고 한다. 쉽게 말해 대리인. 대표. 단어 뜻에서 접근하면, 델리게이트란 어떤 것을 대리해주는 느낌이다. 그렇다. 결론부터 말하자면, 델리게이트란 C#에서 메소드를 대신해서 호출한다. (메소드의 대리) 이게 무슨 말인가? 델리게이트가 없으면 메소드를 직접 호출해서 사용하지만, 델리게이트를 사용하면 메소드를 델리게이트를 호출하면서 사용할 수 있다. 역시 설명은 어렵고 예제를 보자. 2. 델리게이트 사용방법 ① 호출할 메소드와 같은 타입의 델리게이트를 먼저 선언해야한다. ② 델리게이트를 선언.. 2020. 7. 11.
Property - 프로퍼티 기존에 Java로 공부를 하다가 C#을 봤는데 매우 흥미로운 기능이 있어서 소개해볼까 한다. 제목에 쓴 property라는 것이다. 프로퍼티란 C#에서 쓰는 메소드인데 쉽게 말하자면, getter와 setter를 가진 변수? 라고 할 수 있겠다. 이것도 어렵다. 그러니까 프로퍼티는 멤버변수(속성) + getter/setter 이다. 흥미를 느낀 이유는 프로퍼티를 사용하면 코드가 매우 간결해진다. 아래 예제를 보여주겠다. 먼저, Person이라는 클래스를 자바로 표현해봤다. 물론, 에디터에서 getter/setter를 간소화해서 보여주는 기능도 있고 자동 생성해주는 기능도 있으나, 뭔가 길다. public class JavaPerson { private int personId; private string .. 2020. 7. 9.
명심해야할 것들... 보호되어 있는 글 입니다. 2020. 7. 6.
안드로이드 4대 컴포넌트 안드로이드에는 4대 컴포넌트라고 하는 게 있다. (component = 구성요소) 뭐 컴포넌트들에 대한 정보는 안드로이드 개발문서를 참고하고 여기선 개략적으로 얘네가 뭔지만 알아보자. 4대 컴포넌트 - Activity, Service, Broadcast Receiver, Content Provider 1. Activity 이전 글에서 설명했던 내용이다. 안드로이드 개발할 때 거의 대부분을 여기서 작업한다고 보면 된다. 2020/06/05 - [개발/안드로이드] - 안드로이드, 플랫폼, 액티비티 - Android, Platform, Activity 다시 보자면, 내가 보고 있는 앱의 화면이라고 생각되기도 한다. 하지만, Activity도 결국 클래스(객체)로 만들어져 있다. 결국 UI를 관리/제어하는 객체.. 2020. 6. 30.
회사 비교 기준 얼마 전에 구직활동을 하면서 여러 회사에 면접을 다녔다. 회사가 많은 것처럼 회사의 특징도 다양했다. 그리고 나도 최종 선택을 하기 위해 간단하게 항목들을 나눠서 표로 만들어봤다. // 난 발전적인 비교가 아닌 이상 비교는 좋지 않다고 생각하지만.. // 회사도 여러 지원자들을 비교하면서 누구를 뽑을지 고민한다. // 마찬가지로 구직자도 여러 회사들을 비교하면서 어디를 최종적으로 갈지 비교한다. // 결국 이건 서로가 최선의 선택을 위해 어쩔 수 없는 경우라고 생각한다. 혹시나 필요한 사람들은 표처럼 혹은 더 추가하거나 빼서 사용하면 좋을 것 같다. 2020. 6. 29.
728x90