분류 전체보기

    Java_인터페이스

    Java_인터페이스

    인터페이스는 추상 메소드와 상수로만 이루어져 있다. 구현된 코드가 없기 때문에 인터페이스로 인스턴스를 생성하는 것은 불가능하다. 인터페이스에서 선언한 메소드는 컴파일 과정에서 추상 메소드로 변환된다. 또한, 여기서 선언한 변수는 모두 컴파일 과정에서 값이 변하지 않는 상수로 자동 변환된다. 클래스에서 인터페이스 구현하기 :상속에서는 extends 예약어를 사용했다면, 인터페이스에서는 implements 예약어를 사용한다. 클래스에서 implements를 통해 인터페이스를 구현했다면 추상메소드를 구현해주어야한다. 안할 경우, 오류가 발생한다. 인터페이스는 인터페이스를 구현할 클래스가 어떤 기능의 메소드를 제공하는지 명시한다. 한 클래스가 여러 인터페이스를 구현하는 경우 :Buy buyer = custome..

    Java_추상 클래스

    Java_추상 클래스

    추상 클래스는 항상 추상 메소드를 포함한다. 추상 메소드는 구현 코드(함수 몸체 body)가 없다. 추상 메소드는 아래와 같이 abstract 예약어를 사용한다. 그리고 { } 대신에 ; 를 사용한다. 자바에서 추상 메소드는 abstract 예약어를 사용하여 선언만 하는 메소드이다. abstract int add(int x, int y); 추상 클래스 선언 예시 : 아래의 Desktop 클래스에서 display()와 typing()메소드를 오버라이딩 해주지 않으면 오류가 발생한다. public abstract class Computer { public abstract void display(); public abstract void typing(); } public class Desktop extends..

    Java_상속

    Java_상속

    클래스 상속 문법 : 객체 지향 프로그래밍 언어의 중요한 특징 중 하나는 상속이다. B 클래스가 A 클래스를 상속 받으면 B 클래스는 A 클래스의 멤버 변수와 메소드를 사용할 수 있다. 상속 받는 클래스에서 상속하는 클래스로 화살표가 가므로 방향을 헷갈리면 안된다!! 아래와 같은 방법으로 상속 코드가 구현된다. 하위 클래스가 상위 클래스의 멤버 변수를 사용할 때, private 변수일 경우에는 사용할 수 없다. 오류가 나타나는 것을 확인할 수 있을 것이다. 따라서, private 변수를 다른 하위 클래스에서도 사용할 수 있도록 protected로 고친다면 다른 클래스에서도 사용이 가능하다. class B extends A { } 부모를 부르는 예약어, super : super 예약어는 하위 클래스에서 상..

    Java_싱글톤 패턴

    Java_싱글톤 패턴

    싱글톤 패턴이란? 객체 지향 프로그램에서 인스턴스를 단 하나만 생성하는 디자인 패턴을 싱긅톤 패턴이라고 한다. 예를 들어 회사 지원들을 객체 지향 프로그램으로 구현한다고 할 때, 직원은 여러명이지만 회사는 하나이다. 이럴 경우, 싱글톤 패턴으로 Company()클래스를 이용하면 유용하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 package hello; public class Company { private static Company instance = new Company(); private Company() {} public static Company getInstance() { if(instance ==null) { instance=new Company(); } return insta..

    Java_생성자

    Java_생성자

    자바를 오랜만에 다시 공부하고 있는데, 생성자 부분이 중요하다고 느꼈다. 생성자 : 자바에서 클래스를 생성할 때 사용되는데, 클래스를 처음 만들 때 멤버 변수나 상수를 초기화한다. 아래 예시의 클래스 PersonTest의 Person( ) 같은 함수를 생성자라고 한다. 디폴트 생성자 : 생성자가 없는 클래스는 클래스 파일을 컴파일 할때 자바 컴파일러에서 자동으로 생성자를 만들어준다. 디폴트 생성자는 매개변수가 없고 구현 코드도 없다. package constructor; public class Person{ String name; float height; float weight; public Person( ){ } } package constructor; public class PersonTest{ pu..

    Java_힙 메모리

    Java_힙 메모리

    힙(Heap)이란? 힙(heap)은 프로그램에서 사용하는 동적 메모리 공간을 말한다. 일반적으로 프로그램은 스택, 힙, 데이터 이렇게 세 영역을 사용하는데, 객체가 생성될 때 사용하는 공간이 힙이다. 힙은 동적으로 할당되며 사용이 끝나면 메모리를 해제해 주어야한다. C나 C++에서는 프로그래머가 직접 메모리를 해제해야하지만, 자바에서는 가비지 컬렉터가 자동으로 메모리를 해제해준다.