본문 바로가기

전체 글61

Method Dispathch Method Dispatch : 어떤 메소드를 호출 할 것인지 결정 후 그것을 실행하는 과정. Static Dispatch 컴파일 시점에서, 컴파일러가 특정메소드를 호출할 것이라고 알고 있는 경우. 바이트 코드로도 남는다. public class Dispatch{ public void run(){ System.out.println("run"); } public static void main(String[] args) { new Dispatch().run(); } } Dynamic Dispatch 컴파일 시점에서 어떤 메소드를 호출할지 모른다. 추상 타입의 메소드를 호출하는 것만 알고 있다. 런타임시점에 할당된 객체의 타입을 보고 메소드를 실행한다. public class Dispatch{ static a.. 2022. 5. 27.
상속 상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 코드를 공통적으로 관리할 수 있기에 코드의 추가 및 변경이 용이하다. 코드의 재사용성을 높이고 코드의 중복 제거를 하여 프로그램의 생산성과 유지보수에 크게 기여한다. class Parent {} class Child extends Parent { } //Child클래스는 Parent클래스를 상속받앗다. 생성자와 초기화 블럭은 상속되지 않고 멤버만 상속된다. 자손 클래스의 멤버 개수는 조상클래스보다 항상 같거나 많다. 상속관계는 형제관계가 존재하지 않고 항상 부모와 자식의 관계만이 있다. 자바에서는 단일 상속만 가능하다. 오버라이딩 조상클래스로부터 상속받은 메서드의 오버라이딩이라고 한다. 상속받은 메서드를 그대로 사용할 수도 있지만 자식 클래스.. 2022. 5. 27.
클래스 클래스 클래스란? ‘객체를 정의해놓은 것’ 또는 ‘객체의 설계도 또는 틀’ 이라고 정의할 수 있다. 또는 데이터와 함수의 결합. 객체란? ‘실제로 존재하는 것’이라는 의미가 있지만 실제로는 사물이외에도 개념이나 논리와 같은 것들을 객체로 정의하여서 사용되어 진다. 객체와 인스턴스 클래스로부터 객체를 만드는 과정을 클래스의 ‘인스턴스화’라고 한다. 반대로 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 결국 객체와 인스턴스는 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적 의미를 갖는다. 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 가진다. 인스턴스화 클래스 ------------ > 인스턴스(객체) 클래스를 만드는 방법 class Human { .. 2022. 5. 27.
자료구조 구현 자료구조 LinkedList LinkedList는 연결리스트라 부르는 자료구조이다. 연결리스트는 링크를 통해 리스트간 노드를 연결하는 리스트를 말한다. public class ListNode { Integer data; ListNode next; public ListNode() { this.data = null; this.next = null; } public ListNode(int data) { this.data = data; this.next = null; } public ListNode(int data, ListNode next) { this.data = data; this.next = next; } } public class LinkedList { ListNode add(ListNode head,.. 2022. 5. 27.