본문 바로가기

Others9

cmd or Terminal 명령어 css cmd나 Terminal 명령어 Like this! mkdir myDirectory && cd myDirectory 한줄 input code here! 여러줄 input code here2! input code here2! 2017. 7. 10.
오버로딩과 오버라이딩 1. 오버로딩(overloading) 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩이라고 한다.오버로딩을 통해 같은 기능을 하는 메서드의 이름을 통일함으로써 한 눈에 알아보기 쉽고 메서드 이름을 절약할 수 있다. 이와 같이 메서드 오버로딩을 위해서는(1)메서드의 이름이 같아야하고 (2)매개변수의 개수 또는 타입이 달라야하는 조건이 있다. 매개변수에 따라 10가지가 구현되어 있는 println() 메서드는 메서드 오버로딩의 좋은 예이다. 2. 오버라이딩(overriding) 조상 클래스로부터 상속받은 메서드의 내용을 변경하 것을 메서드 오버라이딩이라고 한다.상속을 통해 구현하려는 경우 기존의 메서드가 아닌 확장된 기능이 요구되는 경우가 많다. 이 경우 오버라이딩 메서드를 활용.. 2017. 6. 16.
JVM의 메모리구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그 중 3가지 주요영역에 대해 알아보자. 1. Method Area 클래스에 대한 정보(클래스 데이터)가 저장되는 공간이다.프로그램 실행과 함께 생성되며 클래스 데이터 안에는 클래스 변수(전역 변수) 또한 함께 생성된다.이 Method Area는 프로그램 종료 시 반환된다. 2. Call Stack(호출 스택) 메서드의 작업에 필요한 공간을 제공한다.메서드가 호출되면, 호출스택에 호출된 메서드를 위한 메모리가 할당되며,이 메모리는 작업을 수행하는 동안 지역변수(매개변수 포함)들과 연산의 중간결과 등을 저장하는데 사용된다.메서드가 작업을 마치면 그 메서드 작.. 2017. 6. 16.
객체(Object)와 인스턴스(Instance) 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며,어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 결국 인스턴스는 객체와 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며,인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다. - 자바의 정석 中 - 이런 개념적인 내용들은 들을 때마다 내용이 달라 머릿속에 확 박히질 못하는 것 같다... 현실 세계의 사물(Object)들도 객체라고 부르고 클래스 생성에 따라 메모리에 할당된 객체인 인스턴스 또한 객체라고 부르니 헷갈릴 만도 하다. 결론적으로 인스턴스는 객체에 포함되는 말인 것 같다. 다만 객체는 현실 세계에 가깝고 인스턴스는 소프트웨어 세계에 가까운 느낌이다. 2017. 6. 16.