전체 글

코딩 개발/Java

Java - Interface (feat. abstract)

Interface 란? Interface는 객체와 객체 사이에서 상호작용의 매개로 쓰이는데, 일종의 추상클래스?입니다. 하지만 추상 클래스보다 추상화정도가 높아서 일반 메소드나 멤버변수를 구성원으로 가질 수 없다. Java 8 이후에는 public, abstract, default, static 메소드를 구현할 수 있습니다. 사람들이 abstract class와 interface에 대하여 차이점과 공통점을 어려워 하시는 것 같습니다.(저 포함 ...) 그래서 차이점과 공통점에 대하여 알아보겠습니다. https://pabeba.tistory.com/121 Java - abstract (추상클래스, 추상 메소드) Java abstract class란? Java에서 추상 클래스는 직접 인스턴스화할 수 없는 클..

코딩 개발/Java

Java - abstract (추상클래스, 추상 메소드)

Java abstract class란? Java에서 추상 클래스는 직접 인스턴스화할 수 없는 클래스입니다. 대신 상속할 다른 클래스의 기본 또는 템플릿 역할을 합니다. 추상 클래스에는 구체적인 메서드와 추상 메서드가 모두 있을 수 있으며 인스턴스 변수, 생성자 및 일반 클래스의 기타 기능도 있을 수 있습니다. 추상 메서드는 추상 클래스 자체에 구현이 없는 추상 클래스에서 선언된 메서드입니다. 대신 추상 메서드의 구현은 추상 클래스에서 상속되는 하위 클래스에 맡겨집니다. 추상 클래스를 확장하는 모든 클래스는 모든 추상 메서드를 구현해야 합니다. 그렇지 않으면 추상 클래스로 선언되어야 합니다. 추상메소드가 있으면 무조건 추상 클래스를 받아야하고, 추상 메소드는 자식에게 무조건 전해져야하는데 만일 자식에게 전..

코딩 개발/Java

Java - Static (feat. final, metaspace)

static 이란? 클래스 인스턴스와 연결되지 않고 클래스 자체에 속하는 클래스 수준 변수, 메서드 또는 중첩 클래스를 선언하는 데 사용됩니다. static 요소는 클래스의 모든 인스턴스에서 공유되며 클래스의 인스턴스를 만들 필요 없이 클래스 이름을 통해 직접 액세스할 수 있습니다. 정적인 정보라고도 말할 수 있습니다. 인스턴스 변수같은 경우는 인스턴스가 생겨야지만 생성되는 동적인 정보라면, static은 프로그램 실행시에 저장되는 정보라 정적인 정보라고 합니다. 예시 class A{ int i; // instance variable static int j; // static variable or class variable public void test() { System.out.println("객체 멤..

코딩 개발/Java

Java - 다형성(Polymorphism)

다형성이란? 다형성은 Java에서 객체 지향 프로그래밍의 기본 개념 중 하나입니다. 다양한 형태나 유형을 취할 수 있는 객체의 능력을 나타냅니다. 서로 다른 클래스의 개체를 공통 상위 클래스의 개체인 것처럼 처리할 수 있습니다. 굉장히 추상적인 설명이기 때문에 예제를 확인하는 것이 베스트 입니다. 예제 overloading class O{ public void a(int param){ System.out.println("숫자출력"); System.out.println(param); } public void a(String param){ System.out.println("문자출력"); System.out.println(param); } } public class PolymorphismOverloading..

코딩 개발/Java

Java - 상속(Inheritance)

상속 - 법률 용어 일정한 친족 관계가 있는 사람 사이에서, 한 사람이 사망한 후에 다른 사람에게 재산에 관한 권리와 의무의 일체를이어 주거나, 다른 사람이 사망한 사람으로부터 그 권리와의무의 일체를 이어받는 일. Java에서 상속이란? 부모 클래스(상위 클래스)와 자식 클래스(하위 클래스)가 있으며, 자식 클래스는 부모 클래스를 선택해서, 그 부모의 멤버를 상속받아 그대로 쓸 수 있게 됩니다. 부모 클래스의 private 접근 제한을 갖는 필드 및 메소드는 자식이 물려받을 수 없습니다. 부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한을 갖는 필드 및 메소드도 자식이 물려받을 수 없습니다. (default 접근 제한은 ‘같은 패키지에 있는 클래스’만 접근이 가능하게끔 하..

코딩 개발/Java

Java - Array(배열)

배열이란? 동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조입니다. 배열은 하나의 블록안에 여러 데이터들을 모아 집합시켜 저장함으로써 데이터를 구조적으로 다루는데 도와줍니다. 배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 칭합니다. 배열 선언과 초기화 자바(Java)의 배열은 코드를 보면 볼 수 있듯이 배열을 선언할때 미리 공간의 갯수(길이)를 지정해야 합니다. 이는 곧 공간의 제약이 생겨 데이터를 저장하는데 애로사항이 있을 수 있다는 뜻이기도 합니다. 자바스크립트나 파이썬의 배열 같은 경우 유기적으로 늘어나는 특성 때문에 배열에 데이터를 저장하는데 있어 공간을 따진적이 없었기 때문에 적응이 힘들..

호소세
호소세의 개발 블로그