본문 바로가기

프로그래밍 언어27

[java] 추상클래스 추상 클래스 추상 메서드를 포함한 클래스. 추상 메서드는 구현 코드가 없이 선언부만 있는 메서드를 의미한다. 추상 메서드가 없어도 abstract를 붙이면 추상클래스이다. (추상 메서드나 추상 클래스 정의 시엔 예약어 abstract를 사용한다.) public abstract class Computer { public abstract void display(); //추상 메서드1 public abstract void typing(); // 추상메서드2 public abstract void wash(); public void notAbstractMethod() {}; //추상메서드 아님 public void turnOn() { System.out.println("turn on"); } public void.. 2021. 3. 11.
[java] 업캐스팅, 타운캐스팅 앞서 배운 클래스 상속에서 연속되는 개념이다. 업캐스팅 하위 클래스에서 상위 클래스로 형변환. 모든 하위 클래스는 상위 클래스로 묵시적 형변환이 가능하다. 하위 클래스에서 상위 클래스 타입을 내포하고 있기 때문이다. 역은 성립하지 않는다. Animal 클래스가 상위 클래스 Human, Tiger, Eagle가 하위 클래스이다. 하위 클래스는 상위 클래스로 선언 가능하다. class Animal { public void move() { System.out.println("동물이 움직입니다."); } public void readBooks() { System.out.println("독서"); } } class Human extends Animal { public void move() { System.out... 2021. 3. 10.
[java] 상속, 생성과정 상속이란 이미 있는 클래스를 확장하기 위해 사용한다. 보통 상위 클래스는 하위 클래스보다 일반적인 개념과 기능을 가지고, 하위 클래스는 상위클래스보다 구체적인 개념과 기능을 가지게 설계한다. 자바는 sigle inheritance, 하나의 상속만 가능하다. extends뒤에 한 개의 클래스만 올 수 있다는 뜻이다. 예시: 일반 고객과 vip 고객 전자를 상위 클래스, 후자를 하위 클래스로 설정한다. public class Customer { private int customerID; protected String customerName; protected String customerGrade; int bonusPoint; double bonusRatio; } public class VIPCustomer .. 2021. 3. 9.
[java] static 변수와 메서드, 싱글톤 패턴 static 변수 = 클래스 변수, 정적 변수 여러 인스턴스가 하나의 값을 공유하기 위해 만들어졌다. c/c++의 전역변수와 동일하다. static 변수는 처음 프로그램이 로드될 때 데이터 영역에 한번만 생성된다. 인스턴스의 생성과 상관없이 사용할 수 있으므로 인스턴스 이름이 아니라 클래스이름으로 참조한다. Student.serialNum = 100; static변수와 인스턴스 변수 스택 메모리에 위치한 참조 변수들은 static 변수 참조 시 데이터 영역의 동일한 메모리를 참조한다. static 메서드 =클래스 메서드, 정적 메서드 static 변수를 위한 기능을 제공하는 메걷이다. static 메서드에서는 인스턴스 변수를 사용할 수 없다. (일반 메서드에서 static 변수 사용은 당연히 가능하다.).. 2021. 2. 26.