코딩 기본 다지기 - 03. 참조형 변수, 함수, 클래스
이 포스팅은 아래 영상을 정리하고 배우는 용도임을 알려드립니다.
https://www.youtube.com/watch?v=7OydMTdHYKQ&list=PLQdnHjXZyYaczbigUDPNeRXeQrdpo5Xwi&index=5
<참조형 변수>
배열(Array)
하나의 이름으로 여러 자리를 예약하는 기능
[예시]
int sample [10];
자료형 배열 이름 갯수
는 아래 사진과 같다.
Sample이라는 이름으로 10개의 int 공간을 예약하는 것이다.
sample[3] = 40; 이라면 아래 사진과 같다.
sample의 3번 자리에 숫자 40을 넣는 것이다.
따라서 "배열"이라는 것은 위치를 지정하는 것 외에는 기본형 변수와 다를 것이 없다는 것이다.
int x = sample[3];
이것은 무엇을 의미할까?
int는 integer의 약자이다. integer의 뜻은 "정수"
정수 x = sample[3]
방정식을 풀어보면 x = 40이다.
이는 프로그래밍의 세계에서
sample의 3번 자리의 값을 꺼내어 변수 x에 저장한다는 뜻이다.
이러한 특성을 가진 배열은 순서에 맞춰 값을 담고, 순서에 해당하는 값을 바로 꺼내써야 하는
"목록형 데이터"에 자주 사용된다.
<함수(Funcion)>
클래스를 배우기 전에 클래스를 구성하는 기본적인 요소에 대해 알고 갈 필요가 있다.
바로, "함수(Function)"이다.
함수는 입력값을 넣으면 함수 내부에서 처리된 결과가 출력되는 구문이다.
[예시]
int calculate(int x, int y) {
int result = x+y-3;
return result;
}
무엇을 의미할까?
아래 사진과 같다.
반환형 : 반환할 자료형
함수명 : 함수의 특성을 나타내는 이름이다.
패러미터 : 매개변수 라는 말인데, 함수가필요로 하는 데이터를 받는 기능이다.
나중에 함수를 호출할 때 여기 있는 형식대로 괄호 안의 데이터를 넘겨줄 수 있다.
*함수에 넘겨주는 패러미터나 함수 내에서 선언하는 지역 변수(int result 에서 "result")는 함수 내에서만 사용할 수 있으며 함수 바깥의 변수와 이름이 같더라도 같은 변수가 아니다.
결과값 반환 : 말그대로 결과값 반환하는 거겠지
주의할 점은 반환형으로 정한 자료형에 맞춰 결과값을 넘겨줘야한다는 것이다.
또 반환이 끝나면 이후에 구문이 있더라도 함수는 종료된다.
int calculate(int x, int y) {
int result = x+y-3;
return result;
}
따라서 이 함수는
2개의 int 정수값을 받아 두 수를 더한 값에서 3을 뺀 결과값을 호출한 함수에 반환하는 기능을 가진 함수이다.
예를 들어 int z = calculate(6,7); 이라는 구문에서
결과값은 10이다. 따라서 변수 z에는 10이 할당된다.
<클래스(Class)>
클래스는 쿠키커터에 비유할 수 있다.
클래스는 프로그램의 필요에 따라 원하는 기능을 가진 객체를 생성해내는데 사용된다.
객체를 생성한다?
객체는 클래스라는 틀이 가진 기능과 객체 자신만의 속성을 가진 프로그래밍 요소이다.
"객체 = 클래스의 기능 + 자신만의 속성"
하트모양의 쿠키커터를 클래스 라고 하면
그것으로 찍어낸 객체가 하트 모양의 쿠키라는 기본 기능은 같지만
서로 다른 재료나 모습의 쿠키, 즉 속성이 다른 여러가지 객체를 만들 수 있다는 의미이다.
그럼 여기에서 객체들끼리의 공통점은 "기본 기능"이겠고
차이점은 "속성"이라고 할 수 있겠다.
클래스에서는 모든 객체에 공통적인 기능을 부여하는 "함수"부분과,
객체별로 개별적인 속성이나 상태를 나타내는 "변수" 부분을 포함한다.
*자바에서는 이 함수를 메서드, 변수를 필드 라고 부르기도 한다.
'프로그래밍 독학 > 코딩 기본 다지기' 카테고리의 다른 글
트리의 불균형을 해소하기 위한 방법 - AVL tree, Red_Black tree (0) | 2020.04.30 |
---|---|
코딩 기본 다지기 - 5. 추상클래스, 인터페이스, 오버로딩, 오버라이딩, 캐스팅 (0) | 2020.04.28 |
코딩 기본 다지기 - 04. 클래스, 생성자, 접근제한자, 패키지, 상속 (0) | 2020.04.20 |
코딩 기본 다지기 - 02. 메모리, 자료형 - 기본 자료형 (0) | 2020.04.18 |
코딩 기본 다지기 - 01. 코딩의 구조, 명령구문을 이루는 요소 (0) | 2020.04.18 |