language

language

제어자 (modifier)

접근 제어자 (Public, Private, Protected) 접근제어자를 사용하는 이유는 객체지향 개념의 캡슐화의 맥락에서 이해되어야 한다. 즉 클래스 내부의 데이터를 외부로부터 보호하기 위해서이다. public : 접근 제한이 전혀 없음 protected : 다른 패키지의 자손 클래스에서 혹은 같은 패키지 내에서 접근 가능. 보통 상속을 통해 확장될 것으로 예상되는 멤버에다 씀. → 외부로부터는 접근 제한을 주되, 메서드의 경우엔 오버라이딩을 할 수 있게 되고 변수의 경우엔 (default) : 같은 패키지 내에서만 접근 가능. 한 파일 안에서 만드는 class 들이 default에 해당됨 private : 같은 클래스 내에서만 접근 가능 접근 범위로 나열했을 때 순서. public > protec..

language

OOP

객체지향이란? 분류(classification)란 특정한 객체를 특정한 개념의 객체 집합에 포함시키거나 포함시키지 않는 작업을 의미한다. 객체를 적절한 개념에 따라 분류한 애플리케이션은 유지보수가 용이하고 변경에 유연하게 대처할 수 있다. 더 중요한 것은 적절한 분류 체계는 애플리케이션을 다루는 개발자의 머릿속에 객체를 쉽게 찾고 조작할 수 있는 정신적인 지도를 제공한다는 것이다. - 객체지향의 사실과 오해 객체 지향 프로그래밍은 특정한 개념의 함수와 자료형을 함께 묶어서 관리하기 위해 탄생한 것이다. 즉 객체 내부에 자료형(필드)와 함수(메소드)가 같이 존재 한다. 현실 속의 객체와 소프트웨어 객체의 가장 큰 차이점은 무엇일까? 그것은 소프트웨어 객체가 자율적이고 능동적이라는 것이다. 객체지향 애플리케..

language

c언어. 구조체

구조체란구조체(structure)란, 각각 다른 type의 요소들로 구성될 수 있는 데이터이다. 배열과 달리 각 원소들은 이름을 갖고 이름을 통해 접근할 수 있다..굳이 따지자면 파이썬의 dictionary와 비슷하다고 할 수 있다. (실제로 C언어의 struct를 dictionary로 변환하는 파이썬 모듈이 있다고 한다…) 그래서 구조체가 뭔데?결국 struct 은 하나의 데이터 타입이고, int 란 키워드가 데이터타입으로써 여러 곳에 쓰이듯이 struct 키워드도 다양하게 쓰인다. (구조체의 이름을 tag라고 부르는데, 그냥 이름이라고 부르겠다)struct Car { char brand[50]; char model[50]; int year; }; struct Point { int x; int y; }..

language

c언어. 포인터와 주솟값

사람들이 C언어는 무진장 어렵다고 했다. 나도 파이썬과 JS 같은 스크립트 언어만 쓰다가 C언어를 접하는 것이었기에 처음에 겁부터 먹고 책을 폈다. 그런데, 생각보다 다른 언어들과 비슷한 점이 많았다. for, while, if, switch-case, 여러 연산자, 함수와 인자 등. 물론 내부적으로 돌아가는 과정은 상이하겠지만 (최소한 컴파일러 혹은 인터프리터 간의 차이는 있을듯) 일단 확실한건, C언어가 태어난 중심적인 배경은 대부분의 현대적인 언어들과 같다는 것이다. 기본적으로 명령형 언어이다.그러나 확실한 차이점이 있고, 그건 포인터라고 생각한다. (c++도 포인터를 쓴다)주솟값결국 포인터는 메모리 주소값을 저장하는 변수다. 주소값을 이해하는게 곧 포인터를 이해하는거라고 생각한다. 주솟값은 해당 ..

language

JS 스코프와 scope chain

scopescope는 식별자에 대한 유효범위이다. Context vs ScopeThe first important thing to clear up is that context and scope are not the same.Every function invocation has both a scope and a context associated with it. Fundamentally, scope is function-based while context is object-based**. In other words, scope pertains to the variable access of a function when it is invoked and is unique to each invocation. Con..

language

JS 실행 컨텍스트와 콜 스택

엔진은 너의 코드를 어떻게 읽는가?in what order you think the browser will evaluate that code?의사 표현은 내가 어떻게 하느냐 따라 결과가 달라진다. 내 위주로 전달하는 말과 상대방이 이해할 수 있을까 고민한 뒤 전달하는 말은, 처음 품었던 의도는 같을지언정 그 결과가 천차만별이다.자바스크립트는 코드를 이해하는 나름의 원칙이 있다. 코드를 실행하기 전에 무언가를 생성한다는 것. 그게 뭘까?Execution ContextExecution Context 는 자바스크립트의 핵심 개념으로,코드를 실행하기 위해 필요한 환경환경 정보들을 모아놓은 객체동적 언어javascript는 어떤 execution context가 활성화되는 시점에 선언된 변수들을 위로 끌어올리고(..

zorbathegeek
'language' 카테고리의 글 목록