함수
함수는 재사용 가능한 코드 블록으로, 특정 작업을 수행하기 위해 작성됩니다. 함수를 사용하면 코드의 가독성과 재사용성을 높일 수 있습니다.
함수 선언과 호출
JavaScript에서의 함수 선언과 호출
// 함수 선언
function greet(name) {
return "Hello, " + name + "!";
}
// 함수 호출
let greeting = greet("Alice");
console.log(greeting); // "Hello, Alice!"
Python에서의 함수 선언과 호출
# 함수 선언
def greet(name):
return "Hello, " + name + "!"
# 함수 호출
greeting = greet("Alice")
print(greeting) # "Hello, Alice!"
매개변수와 인수
함수는 매개변수를 통해 입력값을 받을 수 있으며, 호출 시 인수를 전달하여 매개변수에 값을 할당합니다.
JavaScript에서의 매개변수와 인수
function add(a, b) {
return a + b;
}
let result = add(3, 5);
console.log(result); // 8
Python에서의 매개변수와 인수
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
반환값
함수는 return
키워드를 사용하여 호출한 위치로 값을 반환할 수 있습니다.
JavaScript에서의 반환값
function square(x) {
return x * x;
}
let result = square(4);
console.log(result); // 16
Python에서의 반환값
def square(x):
return x * x
result = square(4)
print(result) # 16
객체
객체는 여러 속성과 메서드를 포함하는 데이터 구조입니다. 객체는 관련된 데이터를 그룹화하여 관리할 수 있습니다.
객체 리터럴
JavaScript에서의 객체 리터럴
let person = {
name: "Alice",
age: 25,
greet: function() {
return "Hello, " + this.name + "!";
}
};
console.log(person.name); // "Alice"
console.log(person.greet()); // "Hello, Alice!"
Python에서의 객체 리터럴 (딕셔너리)
person = {
"name": "Alice",
"age": 25,
"greet": lambda: "Hello, " + person["name"] + "!"
}
print(person["name"]) # "Alice"
print(person["greet"]()) # "Hello, Alice!"
메서드
메서드는 객체의 속성으로 저장된 함수입니다. 메서드는 객체의 데이터를 조작하거나 특정 동작을 수행하는 데 사용됩니다.
JavaScript에서의 메서드
let calculator = {
add: function(a, b) {
return a + b;
},
subtract: function(a, b) {
return a - b;
}
};
console.log(calculator.add(5, 3)); // 8
console.log(calculator.subtract(5, 3)); // 2
Python에서의 메서드 (클래스 사용)
class Calculator:
def add(self, a, b):
return a + b
def subtract(self, a, b):
return a - b
calculator = Calculator()
print(calculator.add(5, 3)) # 8
print(calculator.subtract(5, 3)) # 2
연습 문제
문제 1: 최대값 찾기 함수
세 개의 정수를 입력받아 가장 큰 값을 반환하는 함수를 작성하세요.
JavaScript
function maxOfThree(a, b, c) {
let max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
return max;
}
let result = maxOfThree(10, 15, 8);
console.log(result); // 15
Python
def max_of_three(a, b, c):
max_val = a
if b > max_val:
max_val = b
if c > max_val:
max_val = c
return max_val
result = max_of_three(10, 15, 8)
print(result) # 15
문제 2: 객체를 사용한 학생 정보 관리
학생의 이름과 점수를 저장하고, 점수를 업데이트하는 메서드를 가진 객체를 작성하세요.
JavaScript
let student = {
name: "Alice",
score: 85,
updateScore: function(newScore) {
this.score = newScore;
}
};
console.log(student.name); // "Alice"
console.log(student.score); // 85
student.updateScore(90);
console.log(student.score); // 90
Python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def update_score(self, new_score):
self.score = new_score
student = Student("Alice", 85)
print(student.name) # "Alice"
print(student.score) # 85
student.update_score(90)
print(student.score) # 90
결론
이번 글에서는 코딩 테스트 준비를 위해 함수와 객체에 대해 배웠습니다. 이를 통해 함수 선언과 호출, 매개변수와 인수, 반환값, 객체 리터럴, 메서드에 대한 이해를 높일 수 있었습니다. 다음 글에서는 배열과 문자열에 대해 알아보겠습니다.
다음 글에서 만나요!
'코딩테스트1' 카테고리의 다른 글
[코딩 테스트] 5일차: 스택과 큐 (0) | 2024.09.05 |
---|---|
[코딩 테스트] 4일차: 배열과 문자열 (0) | 2024.09.04 |
[코딩 테스트] 2일차: 조건문과 반복문 (0) | 2024.08.02 |
[코딩 테스트] 1일차: 변수와 데이터 타입 (0) | 2024.08.01 |
[코딩 테스트] 18일차: 문자열 알고리즘 (0) | 2024.06.27 |