main() 메서드를 가지지 않는 클래스는 외부 클래스에서 사용할 목적으로 많이 설계된다. 이러한 클래스는 외부 클래스에서 접근할 수 있는 멤버와 접근 할 수 없는 멤버로 구분하여 설계하는 것이 바람직하다.

자바를 해본 사람이라면 위의 코드를 수도 없이 많이 봐왔을 것이다. 그런데, 오늘은 이미 배운public 접근제한자 말고 static 이라는 것에 대해 알아보겠다.먼저, static의 사전적의미는 정적인 이라는 의미이다.

객체지향언어 중 하나가 java인데 java에서는 하나의 기능을 분류하는 단위로 클래스를 사용한다. 이 클래스는 부모자식 관계가 될 수 도 있는데, 예를 들면, 일반 클래스가 추상클래스를 상속받거나, 인터페이스를 상속 받을 수가 있는데, 이때에 부모클래스를 그대로 상속
오버로딩이라는 뜻은 사전적으로 과적하다 라는 뜻이다. C언어에서는함수명이 오직 하나만 존재해야한다. 다시 말하면, 하나의 함수가 하나의 기능만을할 수 있다는 의미이다. 하지만, 자바에서는 하나의 메서드 이름으로 여러 기능을할 수 있다. 여러 기능이라는 것은 메서드명을

자식클래스가 new해서 생성된 instance는 부모 클래스와 is a관계를 가지고 있다. 그래서 자식클래스는 얼마든지 부모클래스에 접근할 수 있다. 자식클래스를 new했을때, 메모리에 올라가는 구조를 먼저보자. 아래그림과 같이, 자식클래스가 new되면 부모클래스도 같

결론부터 얘기하자면 불가능하다. 그 답은 main메서드를 보면 확인할 수 있는데, static은 정적인 이라는 의미를 가지고 있는데, 자바에서 static은 어디서든 접근할 수 있는, 또, 프로그램이 시작부터 종료될때까지 메모리에 남아있게 된다. 아래 그림을 보면 자
불가능하다static이라는 의미는 정적이라는 사전적의미를 가지고 있다. 해석하자면, 변하게 해서는 안되는것이다. 그래서, 변하게 하는 특징을 가진 오버라이드 메서드를 static으로 변하게 할수없는 것이다. static 메서드는 컴파일 시점에 메모리에 올라가고,non-

s

추상 클래스와 인터페이스는 상속받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메서드를 구현하도록 강제한다는 공통점이 있다. 그렇다면 추상 클래스 하나만 존재하되, 추상 클래스 안에 추상 메서드를 여러 개 두거나 혹은 전부 추상 메서드만 두면 되는데, 왜 인터페
정의:다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다. 코드 측면에서 보면 다형성은 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해준다. 즉, 하나의 타입에 여러 객체를 대입할 수 있는 성질로 이해하면 좋을

바인딩이란 프로그램에서 사용된 구성 요소의 실제 값 또는 프로퍼티를 결정짓는 행위를 의미한다. 즉, 프로그램에서 사용되는 변수나 메서드 등 모든 것들이 결정 되도록 연결해주는 것을 말한다.정적 바인딩:컴파일 시간에 결정프로그램이 실행되도 변하지 않음예: 오버로딩stat
정적바인딩: 실행 이전에 값이 확정되면 정적 바인딩이라고 한다. 컴파일 타임에 호출될 함수가 결정되는 것으로, 함수는 기본적으로 정적 바인딩 된다. 컴파일러는 선언되어 있는 자료형을 보고 바인딩을 하기 때문에 실제로 가리키는 객체가 무엇이든 포인터의 자료형을 기반으로

코딩테스트를 처음 접하면 Scanner 클래스를 사용해 입력값을 받을 것이다. 그러다 Scanner대신에 BufferedReader와 StringTokenizer 클래스를 만나게 되는데 이들의 차이점과 왜 사용하는지에 대해 알아보자Scanner 클래스는 primitiv

간단한 코딩테스트 문제를 풀다가 String을 == 연산자로 비교하는데, 분명히 true가 반환되어야 하는데, false가 나오는 것 같아 이상해 찾아보다가 string 의 특징에 대해 알게되어 정리해 보려고 한다.참고자료 :https://sudo-minz.t