본문 바로가기

프로그래밍 독학/코딩 기본 다지기

코딩 기본 다지기 - 03. 참조형 변수, 함수, 클래스

반응형

코딩 기본 다지기 - 03. 참조형 변수, 함수, 클래스

 

이 포스팅은 아래 영상을 정리하고 배우는 용도임을 알려드립니다.

 

https://www.youtube.com/watch?v=7OydMTdHYKQ&list=PLQdnHjXZyYaczbigUDPNeRXeQrdpo5Xwi&index=5

 

 

<참조형 변수>

 

배열(Array)

하나의 이름으로 여러 자리를 예약하는 기능

 

[예시]

int        sample      [10];

자료형   배열 이름   갯수

 

는 아래 사진과 같다.

 

출처 : 유튜브 It's dimo

Sample이라는 이름으로 10개의 int 공간을 예약하는 것이다.

 

 

sample[3] = 40; 이라면 아래 사진과 같다.

 

출처 : 유튜브 It's dimo

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;

 }

 

무엇을 의미할까?

 

아래 사진과 같다.

 

출처 : 유튜브 It's dimo

반환형 : 반환할 자료형

함수명 : 함수의 특성을 나타내는 이름이다.

 

패러미터 : 매개변수 라는 말인데, 함수가필요로 하는 데이터를 받는 기능이다.

나중에 함수를 호출할 때 여기 있는 형식대로 괄호 안의 데이터를 넘겨줄 수 있다.

 

*함수에 넘겨주는 패러미터나 함수 내에서 선언하는 지역 변수(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)>

 

 

 

클래스는 쿠키커터에 비유할 수 있다.

 

클래스는 프로그램의 필요에 따라 원하는 기능을 가진 객체를 생성해내는데 사용된다.

 

객체를 생성한다?

 

 

 

 

객체는 클래스라는 틀이 가진 기능과 객체 자신만의 속성을 가진 프로그래밍 요소이다.

 

"객체 = 클래스의 기능 + 자신만의 속성"

 

 

 

 

하트모양의 쿠키커터를 클래스 라고 하면

 

그것으로 찍어낸 객체가 하트 모양의 쿠키라는 기본 기능은 같지만

 

서로 다른 재료나 모습의 쿠키, 즉 속성이 다른 여러가지 객체를 만들 수 있다는 의미이다. 

 

 

 

 

그럼 여기에서 객체들끼리의 공통점은 "기본 기능"이겠고

 

차이점은 "속성"이라고 할 수 있겠다.

 

 

 

 

클래스에서는 모든 객체에 공통적인 기능을 부여하는 "함수"부분과,

객체별로 개별적인 속성이나 상태를 나타내는 "변수" 부분을 포함한다.

 

*자바에서는 이 함수를 메서드, 변수를 필드 라고 부르기도 한다.

반응형