함수 vs 메서드

2025. 3. 10. 10:23·Dev Trivia
목차
  1. 함수 (Function)
  2. 메서드 (Method)
  3. 함수와 메서드의 차이 
  4. In Java
728x90

함수 (Function)

독립적인 코드 블럭으로 특정 작업 수행

객체 (클래스)에 속하지 않고, 전역적 또는 모듈 단위로 존재

function greet(name) {
    return "Hello, " + name;
}
console.log(greet("Alice"));

메서드 (Method)

클래스 또는 객체에 속하는 함수

  • 특정 객체에 대한 동작을 정의
  • 객체를 통해 호출됨
const person = {
    name: "Alice",
    greet: function() {
        return "Hello, " + this.name;
    }
};
console.log(person.greet());

함수와 메서드의 차이 

구분 함수 (Function) 메서드 (Method)
소속 클래스와 무관 (독립적) 클래스 또는 객체 내부에 존재
호출 방식 직접 호출  객체를 통해 호출
예제 add(3, 5) calc.add(3, 5)
모든 메서드는 함수이지만, 모든 함수가 메서드는 아님

In Java

Java에선 클래스 바깥에 함수를 정의할 수 없기 때문에 모든 함수는 메서드로 존재 해야 함.

하지만, static 메서드와 인스턴스 메서드로 함수와 메서드의 차이를 알 수 있음

static 메서드

class MathUtil {
    // static 메서드는 특정 객체 없이 호출 가능 → 일반적인 함수처럼 동작
    public static int add(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        int result = MathUtil.add(3, 5);  // 객체 없이 호출
        System.out.println(result);  // 8
    }
}

MathUtil.add()는 static 메서드이므로 객체를 생성하지 않고 직접 호출 가능

객체를 통해 호출하는 메서드 

class Calculator {
    // 인스턴스 메서드 (객체를 통해 호출해야 함)
    public int multiply(int a, int b) {
        return a * b;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator calc = new Calculator();  // 객체 생성
        int result = calc.multiply(3, 5);  // 객체를 통해 호출
        System.out.println(result);  // 15
    }
}
  • multiply()는 객체가 있어야 호출 가능
  • 함수보다는 객체 지향적 방식 (OOP)의 메서드
728x90
  1. 함수 (Function)
  2. 메서드 (Method)
  3. 함수와 메서드의 차이 
  4. In Java
'Dev Trivia' 카테고리의 다른 글
  • FrontController
  • DNS
  • Comparable vs Comparator
  • [HTML] Attribute vs Property
0woy
0woy
Algorithm, CS, Web 등 배운 내용을 기록합니다.
    250x250
  • 0woy
    0woy dev
    0woy
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • Backend (22)
        • JAVA (7)
        • DB (11)
        • Spring (2)
        • Spring Security (2)
      • Computer Science (19)
        • 네트워크 (9)
        • 운영체제 (5)
        • 보안 (4)
      • Frontend (15)
        • HTML5 (1)
        • CSS (1)
        • JS (4)
        • Vue 3 (9)
      • PS (18)
        • LeetCode (2)
        • Baekjoon (1)
        • Programmers (3)
        • 알고리즘 (12)
      • Dev Trivia (7)
      • NEWS (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    속성
    security
    정규화
    RDB
    Spring
    https
    BFS
    shortestpath
    JDBC
    select
    PreparedStatement
    대칭키
    function
    JS
    공개키
    java
    javascript
    set
    가용성
    Vue3
    dfs
    보안
    그래프
    tcp
    Props
    트리
    CA
    Filter
    비밀키
    leetcode
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
0woy
함수 vs 메서드

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.