Java28 [Java] 인터페이스 인터페이스(Interface)개발 코드와 객체가 서로 통신하는 접점 역할을 하고 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킴, 그래서 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 됨.인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴값이 다를 수 있으며, 개발 코드 측면에서는 코드 변경 없이 실행 내용과 리턴값을 다양화할 수 있다는 장점을 가지게 됨. 인터페이스 선언인터페이스는 '~.java'형태의 소스 파일로 작성되고 컴파일러(javac)를 통해'~.class'형태로 컴파일되기 때문에 물리적 형태는 클래스와 동일하지만, 소스를 작성할 때 선언하는 방법이 다름.[pub.. 2025. 11. 14. [Java] 추상 클래스 추상 클래스객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면, 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상 클래스라고 하며, 추상 클래스와 실체 클래스는 상속의 관계를 가지고 있음.추상 클래스가 부모, 실체 클래스가 자식으로 구현되어 실체 클래스는 추상 클래스의 모든 특성을 물려받고, 추가적인 특성(필드와 메소드)을 가질 수 있음.공통된 필드와 메소드의 이름을 통일할 목적으로 사용하고, 실체 클래스를 작성할 때 시간을 절약하는 용도로 사용함.추상 클래스 선언추상 클래스를 선언할 때에는 클래스 선언에 abstract키워드를 붙여야 하며, abstract를 붙이면 new 연산자를 이용해서 객체를 만들지 못하고, 상속을 통해 자식 클래스만 만들 수 있음.public abstract .. 2025. 11. 14. [Java] 타입 변환과 다형성 다형성사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질이며, 다형성을 구현하려면 메소드 재정의와 타입 변환이 필요하다. 자동 타입 변환(promotion)자식은 부모 타입으로 자동 타입 변환이 가능하며, 자동 타입 변환은 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말함.자동 타입 변환의 개념은 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있다는 것.바로 위의 부모가 아니더라도 상속 계층에서 상위 타입이라면 자동 타입 변환이 일어날 수 있음.// 자동 타입 변환package sec02.exam01; class A {} class B extends A{} class C extends A{} class.. 2025. 11. 12. [Java] 상속 상속이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여주며, 상속을 이용하면 부모 클래스의 수정으로 모든 자식 클래스들도 수정되는 효과를 가져오기 때문에 유지 보수 시간을 최소화할 수도 있음. 클래스 상속// 기본 형식class 자식클래스 extends 부모클래스 {// 필드// 생성자// 메소드} 예제// 부모 클래스package sec01.exam01;public class People { public String name; public String ssn; public People(String name, String ssn) { this.name = name; this.ssn = ssn; }}// 자식 클래스package.. 2025. 11. 10. [Java] 패키지와 접근 제한자 패키지(package)클래스의 일부분으로, 클래스를 유일하게 만들어주는 식별자 역할을 함.클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다. (상위패키지.하위패키지.클래스)* 프로젝트 할때 흔히 회사의 도메인 이름으로 패키지를 만들며 도메인 이름 역순으로 패키지 이름일 지어주는데, 포괄적인 이름이 상위 패키지가 되도록 하기 위해서이며, 마지막에는 프로젝트 이름을 붙여주는 것이 관례이다.ex) com.samsung.projectname // org.apache.projectname import문사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되어 있다면, import문으로 해당 패키지의 클래스 또는 인터페이스를 가져와 사용할 것임을 컴파일러에게 알려줌.import문은 패키지 선언.. 2025. 11. 10. [Java] 인스턴스 멤버와 정적 멤버 인스턴스(Instance)멤버객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드를 말하는데, 이들을 각각 인스턴스 필드, 인스턴스 메소드라고 부름. 인스턴스 필드와 메소드는 객체에 소속된 멤버이기 때문에 객체 없이는 사용할 수 없음. thisthis는 주로 생성자와 메소드의 매개 변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할 때 사용됨. // 인스턴스 멤버와 thispackage sec05.exam01;public class Car { // 필드 String model; int speed; // 생성자 Car(String model) { this.model = model; } // 메소드 void setSpeed.. 2025. 11. 10. 이전 1 2 3 4 5 다음