[공부 노트] #3

less than 1 minute read

Q1. Override와 Overload

어떤 개념인지는 이해하고 있지만 말로 설명하자니 막히는 부분이 있어 찾아보게 되었다.
오버로딩(Overloading) : 같은 이름의 메소드를 매개변수의 개수 또는 타입이 다르게 하여 여러개 사용하는 것.
오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메소드를 하위 클래스에서 재정의

Q2. static

static이 붙은 메소드나 멤버 변수는 인스턴스를 생성하지 않고도 접근이 가능하다. 클래스 로더에 의해서 메소드 영역에 올라가게 되면 프로그램이 종료될 때 까지 어디서나 접근 가능해진다. static을 사용하게 되면 값의 중복을 피할 수 있고, 한 장소에 값을 저장해두기 때문에 접근 시간 면에서도 근소한 이익이 된다. 하지만 프로그램이 종료될 때 까지 메모리 영역을 차지하므로 남발하는 것은 좋지 않을 수 있다.(시간과 공간의 트레이드오프)
관련 내용을 찾다가 ‘static 영역’이라는 용어를 사용하는 블로그를 몇 개 발견했는데, 클래스 영역(=메소드 영역) 내부에 static 변수를 저장하는 공간이라는 의미로 사용된 것 같다. static 영역이 따로 있나 하는 생각에 잠깐 헷갈렸던 부분이다. JVM

이번주는 분량이 좀 짧네?

공부 노트에 작성할 내용이 점점 줄어간다. 라이브 스터디에 참여하면서 해당 포스트에 궁금증을 해결한 과정을 적다보니 한 주 동안 정리하는 개념의 양이 늘었지만, 공부 노트의 분량은 줄어만 간다. 그래도 스프링 프로젝트를 하나 시작하게 되면 분명 따로 작성할 내용도 많아질 것 같은데, 공모전 찾기가 매우 힘들다…

참고문헌

https://vaert.tistory.com/101 https://jeong-pro.tistory.com/148

Leave a comment