Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

오버로딩과 오버라이딩이 무엇인가요? #56

Open
dailynj opened this issue Dec 16, 2021 · 6 comments
Open

오버로딩과 오버라이딩이 무엇인가요? #56

dailynj opened this issue Dec 16, 2021 · 6 comments
Labels

Comments

@dailynj
Copy link
Contributor

dailynj commented Dec 16, 2021

No description provided.

@dailynj dailynj added the etc label Dec 16, 2021
@dailynj
Copy link
Contributor Author

dailynj commented Dec 21, 2021

Overloading메소드의 이름이 같지만 매개변수의 개수나 타입 (반환값)이 다른 함수를 정의하는 것을 말한다.

Overriding 은 부모 클래스의 메소드를 자식 클래스가 재정의하는 것이다. (메소드의 이름, 매개변수의 개수와 타입, 반환값이 부모와 자식이 같아야한다.)

@co3oing
Copy link
Member

co3oing commented Dec 21, 2021

오버로딩은 같은 이름의 메서드를 여러개 만들어 메서드 마다 매개 변수의 타입과 개수를 다르게 구현하는 것을 말하고,
오버라이딩은 상속 관계에서 슈퍼 클래스의 메서드를 서브 클래스가 재정의해서 사용하는 것을 말합니다.

@tmfrlrkvlek
Copy link
Collaborator

Overloading은 함수명이 같은 경우 매개변수로 인해 호출되는 메소드가 다른 것을 이야기합니다. method 명이 같고 매개변수 개수 혹은 타입이 달라야 하며 가독성이 증가한다는 장점이 있습니다.
Overriding은 자식클래스가 부모클래스 중 하나에 의해 이미 구현된 메소드를 다시 구현하는 것입니다. 부모 클래스와 자식 클래스 사이에만 성립이 가능하며, private 접근제어자를 가지거나 final로 지정된 경우 오버라이드가 불가능합니다. 반환타입, 함수명, 매개변수가 모두 같은 경우에만 오버라이드 가능합니다. 가독성이 증가하며, 함수 하나로 객체마다 다른 구현을 사용할 수 있다는 장점이 있습니다.

@inuinseoul
Copy link
Collaborator

오버로딩은 메서드가 동일한 이름을 가지고 있지만 인자의 수나 자료형이 다른 것을 의미합니다. 오버라이딩은 상위 클래스의 메서드를 하위클래스에서 재정의하는 것을 의미합니다.

@sustainable-git
Copy link
Member

overloading은 이름이 같아도 매개변수가 다르다면 다른 함수로 사용할 수 있는 것을 의미합니다. overriding은 상위 클래스에서 가지고 있는 함수를 하위 클래스에서 재정의하는 것을 의미합니다.

overloading과 overriding은 다형성을 구현하기 위해 사용되는 방법입니다.

@duyeonnn
Copy link
Collaborator

오버로딩은 메서드들이 같은 이름을 가지고 있으나 인자의 수나 자료형이 다른 경우를 말합니다

func A(a: Int)
func A(a: String) 
func A(b: Int)
func A(a: Int, b:Int)

오버라이딩은 상속 관계에 있는 클래스간의 같은 이름의 메서드를 정의하는 것을 말합니다

Swift에서는 override 키워드를 앞에 붙여줍니다.

class A {
	func A()
}
class B: A {
	override func A()
}

@dailynj dailynj changed the title 오버로딩과 오버라이딩의 차이는 무엇인가요? 오버로딩과 오버라이딩이 무엇인가요? Dec 21, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants