공부/공부(코딩)

코딩 언어 개념 노트

tomato23 2016. 3. 31. 19:51

코딩 언어 개념 노트


클래스와 객체


  클래스는 공통 필수 요소들을 관념화 시켜 묶어 놓은 자료형입니다. 우리가 "고양이"라고 말하고 말할 때 그것은 어디에 있는 고양이를 말하는 것일까요? 사실 그것은 정확히 하나를 치칭하지 않고 어떤 공통점을 가진 집단을 말한다는 것을 알 수 있습니다. 그 고양이 중에 하나가 바로 제가 키우는 고양이 "냥냥"이가 되는 것이고 그 "냥냥"이가 고양이 클래스의 구체적인 객체가 되는 것입니다. 이것은 코드를 재활용하기에 매우 좋은 요소입니다. 매번 고양이의 공통적인 특징을 코드에 재정의 할 필요가 없게 만들어주거든요. 각 객체는 자신이 가지는 특징들만 추가하거나 재정의하여 사용하면 됩니다.   


private


  클래스의 멤버를 private로 만들면 클래스 밖에서 그 멤버를 호출하여 사용할 수 없게 된다. 사실은 그 멤버가 있다는 사실조차 눈치채기 힘들게 된다. 


c# 용어 ; PROPERTIES


  프로퍼티는 캡슐화를 편하게 만들어주는 도구이다. 멤버가 priavte 상태일 때 해당 클래스 밖에서는 그 멤버를 사용 할 수 없게 된다. 하지만 그 멤버가 클래스 기능에 사용되어야 하는 때가 오면 어떤 식으로든 밖으로 정보를 보여주긴 해야한다. 그럴 때 사용하는 것이 PROPERTIES이다. 


캡슐화

  우리가 알약 안에 가루들이 구체적으로 어떤 것들이고 어떻게 조합되어있는지 모르지만 알약의 효능을 알고 그것을 사용하듯이 프로그래밍에서도 내부적 작동 원리를 보안등의 이유로 감추고 그 기능만을 사용할 수 있게 만드는 행위이다. 모듈화는 단순히 기능을 나누는 것이라면 캡술화는 거기에 보안을 추가한 것이므로 비유해보자면 투명한 알약과 불투명한 알약으로 나눌 수 있다.    


인수


  클래스의 필드를 구성하고 보완하기 위한 외부 정보이다. 없을 수도 있다. 외부에서 정보를 요청할 때 이 인수를 같이 넣어보내는데 이 인수가 어떻게 사용되는 지는 클래스 내부에서 일어나는 일이기 때문에 기본적으로 알 수 없으며 그 기본적으로 알 수 없는 영역도 감추고 싶을 때는 멤버에 private를 사용하여 보안을 강화한다. 이를 캡슐화한다라고도 표현한다.


함수


  메쏘드라고도 부르며 인수를 0개 이상 받아 특정 행동을 수행하거나 특정 자료형의 값을 메소드를 호출한 곳으로 반환하는 응답자의 역할을 한다. 인수를 반드시 필요로 하기 때문에 클래스에서 호출 할 때 소괄호가 뒤에 붙는다. 이 소괄호는 인수를 받아 넣기 위한 용도로 사용된다.


멤버, 필드, 요소


  필드라고도 부른다. 클래스에 속한 변수, 함수 등의 구성 요소들을 모두 일컷는 말이다. 


형변환


  자료형을 변화 시키는 것을 말한다. 자동형변환과 강제형변환으로 나눌 수 있다. 흔히 문자열을 콘솔에 출력할 때, 숫자를 넣어도 문자로 자동으로 변환되는 것을 자동형변환의 예로 들 수 있고 인위적으로 형변환을 명령하는 것은 강제형변환이라고 말한다.

  myText = "11";

  C# 언어에서는 (int)myText; 하면 int형으로 강제 형변환이 되고 자바스크립트에서는 Number(myText) 하면 강제 형변환이 된다. 




c# 용어 ; using 


  임포트 하여 사용할 클라스 자원을 불러오는 일이다. 내장 되어있는 시스템 자원이 아니라면 별도로 브라우저를 열어 불러오기 해야한다. 


namespace


  프로젝트를 생성 할 때 자동 생성되며 프로젝트명과 동일시 해도 일단은 거의 문제가 없다. 바꿀일은 대형 프로젝트가 아닌 이상 별로 없다. 


enum


  기본적으로 선택목록이라고 생각하면 된다. 게임 캐릭터를 생성할 대 성별을 남성, 여성으로 나누고 싶어서 입력을 남성 혹은 여성이라는 텍스트 값으로 직접 받아온다고 생각해보자. 어떤 놈이 엿되라고 만리장성을 입력하면 만리장성이라는 성별을 가진 캐릭터가 생겨나버리는 것이다. 이럴 때 enum을 쓰면 선택 할 수 있는 목록이 한정된다. (기본적으로 클래스처럼 자료형 취급을 받으며 클래스 처럼 내부 필드에 접근할 수 있다. 다른 점은 내부 필드가 모두 "선택 목록"에 특화되어 있다는 것이다. )








반응형