본문 바로가기
코딩테스트1

[코딩 테스트] 3일차: 함수와 객체

by cogito21_js 2024. 8. 3.
반응형

함수

함수는 재사용 가능한 코드 블록으로, 특정 작업을 수행하기 위해 작성됩니다. 함수를 사용하면 코드의 가독성과 재사용성을 높일 수 있습니다.

함수 선언과 호출

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

결론

이번 글에서는 코딩 테스트 준비를 위해 함수와 객체에 대해 배웠습니다. 이를 통해 함수 선언과 호출, 매개변수와 인수, 반환값, 객체 리터럴, 메서드에 대한 이해를 높일 수 있었습니다. 다음 글에서는 배열과 문자열에 대해 알아보겠습니다.

다음 글에서 만나요!

 

반응형