Solidity Interface
Interface
μΈν°νμ΄μ€λ λ€λ₯Έ 컨νΈλνΈμ μνΈμμ©νκΈ° μν΄ μ¬μ©λλ€.
μμ 컨νΈλνΈλ₯Ό μν νμ΄λ©°, μΆμ ν¨μλ‘λ§ κ΅¬μ±λμ΄μΌ νλ€.
ν΄λΉ λ΄μ©μ ꡬννμ§λ μκ³ μ΄λ₯Ό μμνλ μͺ½μμ ꡬννκ² νλ, λ€λ₯Έ 컨νΈλνΈλ€μκ² μ΄ μ»¨νΈλνΈλ μ΄λ° ν¨μλ€μ ν¬ν¨νλ μμ¬νκ³ νΈμΆνλΌλ μ 보λ₯Ό μ£Όλ μν μ νλ€.
Interface in Solidity
μλλ κ°λ¨ν μΈν°νμ΄μ€ μμμ΄λ€.
ICalculatorλ₯Ό μ΄μ©ν΄μ κ³μ°κΈ°μ λν μΈν°νμ΄μ€λ₯Ό λ§λ€μκ³ , contract Calculator is ICalculator ꡬμ μ Calculator 컨νΈλνΈκ° ν΄λΉ μΈν°νμ΄μ€λ₯Ό μμλ°λλ‘ λ§λ λ€.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
interface ICalculator {
function Add(uint256 a, uint256 b) external pure returns (uint256 result);
function Sub(uint256 a, uint256 b) external pure returns (uint256 result);
function Div(uint256 a, uint256 b) external pure returns (uint256 result);
function Mul(uint256 a, uint256 b) external pure returns (uint256 result);
}
contract Calculator is ICalculator {
function Add(uint256 a, uint256 b) external pure returns (uint256 result) {
result = a + b;
}
function Sub(uint256 a, uint256 b) external pure returns (uint256 result) {
result = a - b;
}
function Div(uint256 a, uint256 b) external pure returns (uint256 result) {
result = a / b;
}
function Mul(uint256 a, uint256 b) external pure returns (uint256 result) {
result = a * b;
}
}λ§μ½μ μμλ°λ 컨νΈλνΈκ° μ¬λ¬ κ°κ° λλ€λ©΄ μ΄λ»κ² ν κΉ?
μλμ κ°μ΄ μμ±ν μ μλ€.
κ·Έλ λ€λ©΄ ν κ±Έμ λ λμκ°μ, κ°μ λ©μλλ₯Ό κ°μ§ λ κ°μ μΈν°νμ΄μ€λ₯Ό μμλ°λ κ²½μ°μλ μ΄λ»κ² μ²λ¦¬ν΄μΌ ν κΉ?
μλμ κ°μ΄ overrideλ‘ λͺ μν΄μ€μΌλ‘μ¨ μμμ λ°μ ꡬνν μ μλ€.
Last updated