본문 바로가기

study/java

(36)
자바/JAVA 추상 클래스, 추상 메소드, 템플릿 메소드 추상 클래스는 반드시 상속되거나 구현돼야 하는 클래스다. 따라서 추상 클래스의 특성을 물려 받는 실체 클래스가 있다. 클래스를 설계할 때 사용한다. 반대로 생각하면 추상 클래스는 실체 클래스들의 규격과 같다. 따라서 실체 클래스들은 공통된 특성을 물려 받고, 자신만의 특정한 특성도 설정할 수 있다.(인터페이스의 특징) 그래서 추상 클래스는 하위 클래스의 공통된 특성(필드, 메소드)을 추출하여 선언한 클래스라고도 할 수 있다. 추상 클래스는 클래스가 갖는 모든 속성과 기능을 가진다. 추상 메소드의 구현 및 상속의 기능을 갖는다. 또한 추상 클래스도 클래스이므로 단일 상속만 지원한다. 클래스 생성 시 abstract를 붙여 선언한다. 이를 통해 상속(구현)을 강제할 수 있다. public abstract c..
자바/JAVA 다형성 구현 정리 다형성(polymorphism): 객체 사용 방법 또는 코드는 동일하나 실행 결과가 다양하게 나오는 성질. 하나의 객체가 여러개의 자료형 타입을 가질 수 있는 것. 메소드 재정의와 클래스 타입 변환으로 구현한다. 장점: 유사한 클래스가 추가되는 경우 유지보수에 용이하고 각 자료형마다 다른 메소드를 호출하지 않으므로 코드가 절약된다. 클래스 타입 변환에는 자동 타입 변환, 강제 타입 변환이 있다 먼저 다시 한번 정리하면 상속을 받은 클래스는 부모 객체를 먼저 호출한다. 따라서 밑에 기술한 클래스 타입 변환이 일어날 때, 객체 변수들이 참조하는 주소는 변하지 않는다. 1. 자동 타입 변환(Promotion, Up Casting, 묵시적) - 자식 인스턴스가 부모 클래스 타입의 변수에 담기는 것이다. 여기서 ..
자바/JAVA 객체지향 관련 정리 클래스는 라이브러리(API) 또는 실행 클래스(main())로 사용된다. this() - 동일 클래스의 생성자를 호출할 수 있다. 생성자 오버로딩 할 때 사용하고, 첫줄에 작성해야 한다. 메소드 작성 시, 매개변수의 개수를 모른다면 배열 타입으로 선언하거나 - int sum1(int[] values) 값의 목록만 넘긴다. - int sum2(int ... values)
자바/JAVA 공부 정리 자바 기본 문법 관련하여 잊을 것 같은 걸 적고 있다.(계속 수정중)(틀린 내용이 있을 수 있음) 자바에서 기본적으로 실수는 double형 사용. 객체 정보를 은닉하기위해 접근 제어자를 사용한다. final 필드(상수) -> 초기화 이후 수정 불가 final 필드 -> 상수(대문자로 작성하는 것이 관례) final 메소드 -> 재정의 할 수 없다. final 클래스 -> 더 이상 상속될 수 없다. 일반적으로 인스턴스 final 필드는 대게 생성자로부터 값을 받고 그것으로 초기화함. 리터럴은 그 자체로 값을 의미한다. 예를 들어 int a = 100; 이라는 코드가 있을 때 100이 리터럴이 된다. 2진수, 8진수, 16진수 정수형에 리터럴을 기술하는 법 int a = 0b11 //2진수 3 int a =..