Programming 썸네일형 리스트형 override & overload [오버라이딩 & 오버로딩] 1. 다형성 자바에서는 다형성을 지원하기 위한 기능으로 override & overload 기능이 있다.overload - 같은 이름의 메소드를 여러개 가지면서 매개변수의 유형과 개수가 다르면 다른 메소드로 인식하여 자바 내부에서 판단해주는 기술.override - 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의해서 사용하도록 해주는 기술. override , 재정의라고 한다. 이름이 비슷해 헷갈리기 쉬운 개념인데 확실히 알고 가야 객체지향 기반의 자바에서 중요한 3 요소를 이해할 수 있으니 잘 알아둬야 한다. 1-1. overload오버로딩(overloading)은 메소드 오버로딩과 생성자 오버로딩이 있다. 그러나 결국 같은 개념으로서 같은 이름의 함수를 여러개 정의하고 매개변수의 유형과 갯수.. 더보기 상속 - 2 1. 상속과 생성자 부모 클래스의 생성자가 없을 시에, 자식 클래스에게 부모 클래스를 상속시키려고 하면 에러메세지가 뜬다.이를 이용하여 상속에는 생성자가 관련되어 있음을 알 수 있다. 에러메세지를 읽어보면 부모클래스에 기본 생성자가 정의되지 않았다는 내용의 에러 메세지를 뿜는다. 강제로 A클래스를 호출해보면 A의 기본 생성자가 없다는 메세지가 뜬다. 그 이유는 부모클래스와 자식클래스의 상속 관계에서 부모클래스의 생성자를 먼저 실행하기 때문이다. 생성자를 이용해 부모클래스를 호출해 정보를 사용하는 시스템이라는걸 알 수 있는 부분이다. 결국 계속해서 자식은 부모를 호출하며, 부모클래스는 자신의 부모클래스를, 또 그 위 클래스를 연속해서 호출하게 되는데 이것을 연쇄 호출이라 한다. 그렇다면 맨위 클래스, 그러.. 더보기 상속 1. 개념 자바에는 상속이라는 개념이 있다.A extends B 라고 표현하며, A가 B를 상속한다. 라는 의미이다. 일상생활의 상속과 비슷한 의미로 이해하면 편하며, 그렇기 때문에 B에서 생성된 변수나 메소드를 똑같이 사용 가능하나 역으로 A에서만 생성된 변수 & 메소드를 B에서 사용하는 것은 불가능하다. extend의 영사전적 의미는 확대하다. 넓히다. 의 의미로서. 이 의미를 생각하고 공부하면 이해하기가 쉽다.A를 자식 클래스, B를 부모 클래스라고 할 때, 부모가 가지고 있는걸 자식이 사용하면서 자식이 개인적인 물품을 사용하는 방식이라 이해하면 된다. B에서 쓰는 변수와 메소드는 A에서 상속받아 사용이 가능하며, 또한 A에서 추가로 변수와 메소드의 생성이 가능하다. 위 사진에서 Employee 클.. 더보기 JAVA Static 변수 생성 주기 static[정적]과 동적 생성으로 나뉘어짐.변수 & 메소드를 동적 & 정적으로 생성 가능. 해당 사진에서 static 변수는 메모리가 고정되어 변하지 않게 되기 때문에 고정된 변수로 사용하고 싶을 때 사용 [변수 공유의 개념이나. 부동의 개념에서 주로 사용됨.]우선순위는 static 초기화 블럭 > 클래스 생성자 > 인스턴스 변수 초기화. 의 순으로 이루어짐. static과 일반 인스턴스 변수의 생성간 생성 주기를 제대로 아는 것이 중요한데, Static 선언이 된 변수는 main클래스나 기타 다른 해당 변수의 선언보다 우선시 되기 때문에 그 생성 위치를 잘 파악해야함. 더보기 JAVA Static 변수 static 변수예를 들어 다음과 같은 클래스가 있다고 하자.public class HousePark { String lastname = "박"; public static void main(String[] args) { HousePark pey = new HousePark(); HousePark pes = new HousePark(); } } 박씨 집안을 나타내는 HousePark이라는 클래스이다. 위와 같은 클래스를 만들고 객체를 생성하면 객체마다 lastname을 저장하기 위한 메모리를 별도로 할당해야 한다. 하지만 가만히 생각해 보면 HousePark 클래스의 lastname은 어떤 객체이던지 동일한 값인 "박"이어야 할 것 같지 않은가? 이렇게 항상 값이 변하지 않는 경우라면 static 사용 시.. 더보기 JAVA Gabage Collecter [JVM GC] GC에 대해서 알아보기 전에 알아야 할 용어가 있다. 바로 'stop-the-world'이다. stop-the-world란, GC을 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것이다. stop-the-world가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘다. GC 작업을 완료한 이후에야 중단했던 작업을 다시 시작한다. 어떤 GC 알고리즘을 사용하더라도 stop-the-world는 발생한다. 대개의 경우 GC 튜닝이란 이 stop-the-world 시간을 줄이는 것이다. Java에서는 개발자가 프로그램 코드로 메모리를 명시적으로 해제하지 않기 때문에 가비지 컬렉터(Garbage Collector)가 더 이상 필요 없는 (쓰레기) 객체를 찾아 지우는 작업을 한다. 이 .. 더보기 JAVA 객체지향 설명 더보기 JAVA 배열, 객체지향의 개념 설명 더보기 JAVA 조건문 & 반복문 더보기 자바 입출력, 자료형 요약 & 조건문 더보기 이전 1 2 3 4 5 다음