: 인간의 사고에 바탕을 두고 프로그래밍 하는 것. 즉, 기존의 프로그래밍 방식은 컴퓨터가 이해하기 쉽고, 사용자는 이해하기 까다로운 방식으로 이루어 졌는데, 현재는 사용자가 손쉽게 프로그래밍이 이루어지도록 한 것이 개체지향 프로그래밍이다.
3. 사건 처리 중심 언어이다.
● 용어정리
1. 개체 (= 객체, Object) : 개체란, 인지의 대상이다. 예를 들면, 꽃, 자동차, 눈, 사람, 구름, 컴퓨터 등 인지되는 모든 것이 곧 개체이다. 개체에는 두가지 특성이 있는데, 하나는 속성이고, 또 하나는 기능이다. 예를 들어 설명하면, 자동차라는 개체가 있으면, 속성에는 바퀴가 넷, 색이 파란색, 차종은 마티즈, 배기량은 1500cc등이 될 수 있고, 기능은 달린다. 멈춘다. 경적을 룰린다. 라디오를 켠다. 등의 기능을 가질 수 있다. 즉, 속성은 정적인 면이고, 기능은 동적인 면이다.
2. 속성(Property) : 객체에 할당하는 값(Value)으로, 주로 객체의 형태를 결정하거나 어떤 값을 할당, 기억된 값을 읽어내는 용도로 사용된다. 예를 들어 객체의 객체의 크기를 지정하기 위해서는 Width, Height 속성을 객체의 위치를 지정하기 위해서는 Top과 Left속성을 사용한다.
3. 메소드(Method) : 해당 객체에 어떤 행동을 하도록 지시하는 명령어이다. 예를 들어 도형을 그린다거나 그려진 도형을 지우는 등의 명령은 모두 메소드에 해당한다.
4. 이벤트(Event) : 프로그램 실행중에 발생하는 어떤 사건으로 사용자가 해당 객체 위에서 마우스를 클릭하거나, 키보드를 누르는 등의 동작을 할 때 발생한다.
5. 이벤트 핸들러(Event Handler) : 마우스를 클릭하거나 키보드를 누르는 등의 즉정한 사건(Event)이 발생했을 때 프로그램에서 처리해야 할 내용을 설정하는 부분이다.
6. 사건 프로시저(Event Procedure) : 사건 프로시저는 코드 창에서 작성되는데 해당 개체를 두 번 클릭하거나 [Viuew]메뉴의 [Code] 명령을 처리해도 된다. 사건 프로시저는 개체의 Name 속성에 지정된 개체명, 밑줄(_), 사건 명칭이 연결된다.
● 모듈(Module)
하나의 프로젝트에서 전역적으로 쓰이는 상수, 변수, 프로시저, 함수 등을 모아 놓은 프로그램 모듈이다. 같은 프로그램 모듈이라도 폼과는 달리 자원이나 화면 디자인에 관한 정보는 들어 있지 않다. 대신 폼이 지역적인 성격을 띄는 반면, 모듈은 전역적인 성격을 띄기 때문에 모듈에서 선언된 변수들은 다른 모듈, 폼에서 모두 쓰일 수 있다. 파일로 저장될 때에 “BAS’라는 확장자를 가지고 저장된다.
정리 1. >=6 이렇게 비교대상이 상수이면, 필드명 밑으로 참,거짓으로 찾고, 2. =H4>=AVERAGE($H$4:$H$16) // 이것은 >= 뒤에 숫자가 아니므로, 필드명 밑으로 참거짓을 찾을 수 없고, 다 거짓이 되므로, 필드명을 인지 못하게 해야하며, H4 주소값으로 비교대상이 맞는지 체크하므로, 필드명은 없이 조건부 서식처럼 상대주소가 알아서 참거짓을 판별하게 해야한다.
부가설명) // 2021-03-28
=COUNTIF(E5:E12,">="&AVERAGE(E5:E12))&"개"
조건부분에서 ">=" & AVERAGE(E5:E12
각각의 조건을 연결해준다고 생각하면 된다.
고급필터에서
함수를 넣어서 조건을 넣을 때, 필드명을
1. 안쓰거나,
2. 다른 이름으로 넣으면 된다. 예) 조건 // 이런식으로 하면 된다.
필드명을 굳이 주지 않아도 된다. 굳이 주려면, 그냥 "조건" 이렇게 주던가, 아무 이름을 주되, 필드명과 같지 않게만 주면 된다.
고급필터의 조건은 필드(열) 데이터 내에서 그대로 조건에 해당하는것만 추출해 낸다.
하지만, 함수명이 들어가면, 필드명을 다르게 해줘야 한다.
해당 필드의 데이터에 함수명으로 작성된 데이터가 없기 때문이다.
데이터 자체가 함수명, 즉, average , sum 등등 이런 데이터가 아니기 때문이다.
이전에 설치했던 안드로이드 스튜디오를 깨끗이 삭제하고 싶나요? 안드로이드 스튜디오를 설치하면 다음과 같은 위치에 파일이 만들어 집니다. 안드로이드 스튜디오 프로그램만 삭제하면 이전에 설치했던 폴더의 파일은 삭제되지 않고 남겨집니다. 제어판에서 안드로이드 스튜디오를 제거한 다음 해당 경로에 있는 파일도 모두 지워야만 이전 버전에서 설치했던 파일이 완전히 제거됩니다. 다음은 이전 버전의 안드로이드 스튜디오와 관련 있는 폴더와 파일의 경로입니다.
C:\Program Files\Android\Android Studio C:\Users\<사용자계정폴더\.android C:\Users\<사용자계정폴더\.AndroidStudio<버전> C:\Users\<사용자계정폴더\AppData\Data\Local\Android\Sdk
만약 AppData 폴더가 보이지 않는다면, 폴더 보기 옵션의 표시/숨기기 항목에서 숨김 항목이 체크 해제된 상태일 수도 있습니다.
파일 탐색기의 "보기"탭 > "표시/숨기기" 항목에서 숨김 항목의 체크 버튼을 체크하면 숨긴 폴더가 나타납니다.
2, 5, 8 의 값을 갖는 총 3개의 열 중에 2번째 열에 있는 값이므로 2가 반환된 것입니다.
예제)
● 입력하고, 함수 적용 후, 결과값을 확인하세요.
MATCH 함수를 이용하여 실험 결과 영역에서 점수가 속해 있는 상대적 위치를 찾아보겠습니다.
함수식) =MATCH(B3,$B$10:$B$15,1)
=MATCH(B3,$B$10:$B$15,1) : 59를 찾는데, 옵션이 1이므로 59보다 작거나 같은 값 중 가장 근접한 값을 찾습니다. 59보다 작은 값 중 가장 근접한 값 50을 찾아 [B10:B15]에서의 상대적인 위치인 1이 [C3] 셀에 입력됩니다.
결과)
★ 컴활1급 기출문제)
‘중간+기말’의 값을 기준으로 [등급표]의 구간종료 영역을 참조하여 점수 등급을 계산하시오.
정답
[F3] : =MATCH(D3+E3,$C$12:$C$14,-1)&"등급“
설명 : 55보다 크거나 같은 값중에서 가장 작은 값을 찾습니다. 60을 찾은 후 60이 있는 위치 1을 반환합니다.
결과)
★★★★ 여러 범위를 선택하는 경우 // MATCH 함수, 배열수식을 이용
이런 경우는 배열 수식을 이용해서 여러 조건이 모두 들어맞는 열, 또는 행을 찾는데 사용합니다.
문제) 나이가 27살이고, 도시는 부산인 사람의 행의 값을 찾아 보도록 합니다.
▲ 위 식은 여러개의 조건을 만족하는 행의 값을 찾아주는 식입니다. 이 식이 어떻게 동작하는지 이해하기 위해서 배열 수식을 제대로 알고 있어야 합니다. 우선 배열 수식을 만들려면 수식을 입력한 후에 엔터를 누르지 말고 대신 Ctrl+Shift+Enter 를 눌러줍니다. 이렇게 누르면 위 그림과 같이 수식을 감싸는 {수식} 중괄호가 생깁니다. 이렇게 수식이 배열수식이 되면 범위간에 연산이 가능해집니다. 단 연산에 쓰일 범위간에 형태는 같아야겠죠. 예를들어 1행 10열의 범위 + 1행 10열의 범위 처럼 말이죠.
위 식 역시 (B3:B10=27)*(C3:C10="부산") 이라는 범위간에 연산이 있습니다. 그리고 범위 간에 상대적으로 동일한 위치에 있는 요소간에 계산이 됩니다. 좀 생소할 수도 있으므로 차근차근 확인을 해보도록 하겠습니다.
먼저 B3의 셀이 27인지 검사해서 맞다면 1 틀리면 0을 반환합니다. 이와 동시에 C3의 셀이 "부산"인지 아닌지에 때라 1 또는 0을 반환하죠.
만약 이 두 조건이 모두 맞다면 둘 다 1을 반환하여 *(곱셈)의 결과 1이 반환됩니다. 이렇게 계산된 결과는 배열의 요소로 저장되게 됩니다. 이렇게 해서 위 식의 계산 결과는 다음과 같은 식이 됩니다.
=MATCH(1, {0;0;0;1;0;0;0;0}, 0)
{0;0;0;1;0;0;0;0}은 8행1열의 배열을 나타냅니다. 다음과 같은 것이죠.
★ ; (세미콜론)으로 구분되어 있다면 행을 구분
데이터간에 ;(세미콜론으로 구분되어 있다면 행을 구분해 주고 만약 ,(콤마)로 나뉘었다면 열을 구분해 줍니다.
어찌되었건 위 식을 해석하면 해당 배열에 1의 값의 위치가 어디있냐는 것입니다. 즉 27살에 "부산"인 행을 찾는 것과 동일합니다. 그래서 4가 반환된 겁니다.