본문 바로가기

Java32

java 추상클래스(abstract class) +추상메소드 목적 ▶ 추상클래스란? 추상 메소드를 한 개 이상 가진 클래스로서 단 한개의 추상메소드를 가져도 추상클래스가 된다. 그리고 필드 변수를 선언하는 것도 가능하다. ▶ 추상메소드란? 메소드의 상세 동작이 정의되지 않은 메소드이다. 선언되어 있으나 구현되어 있지 않은 메소드, 중괄호가 없으며 선언만 되고 실체가 없다. 메소드의 상세 내용은 이 메소드를 활용하는 서브클래스에서 오버랑이딩으로 정의된다. ▶ 추상클래스의 목적 추상클래스는 서브클래스에서 필요로하는 기능을 선언만하여 두고 서브클래스가 상속받아 서브 클래스에서 오버라이딩하여 서브클래스에서 구현하도록 한다. 서브클래스에서 필요한 부분만 재정의함으로서 다형성, 재생산성을 가진다. ▶ 추상클래스 선언 추상클래스, 추상메소드는 abstract 로 선언한다. ex) .. 2022. 3. 19.
[JAVA] StringTokenizer 문자열 분리하기 (+hasMoreTokens 로 출력) ▶ StringTokenizer StringTokenizer 의 생성자를 활용해 저장된 문자열의 분기점을 지정하여 문자열을 분리할 수 있다. 분리된 문자열은 StringTokenizer 메소드를 통해 문자열 배열 형태로 변경된다. ▶ hasMoreTokens hasMoreTokens를 활용하면 객체에 저장된 배열의 수 만큼 while문을 수행하여 출력할 수 있다. ▶ StringTokenizer 의 생성자와 주요메소드 ▶ StringTokenizer & hasMoreTokens 예제 import java.util.StringTokenizer; //import java.util.StringTokenizer; 를 통해 import 해줘야 사용 가능 public class Ex11 { public static.. 2022. 3. 17.
JAVA 업캐스팅과 다운캐스팅 (+동적바인딩, 정적바인딩) 먼저, 이전에 배웠던 상속에 대한 개념 간단하게 설명하자면 서브클래스는 슈퍼클래스를 상속받아 서브 클래스의 객체는 슈퍼클래스의 멤버를 모두 가지고, 사용할 수 있다. ▶ 업캐스팅이란? 업캐스팅이란 서브클래스의 객체를 슈퍼 클래스 타입으로 타입 변환함을 말한다. 자식 객체가 부모멤버를 활용할 때 사용하며 자식과 부모의 공통된 것만 사용할 수 있고 자식클래스에서 새로 만들어진 건 사용 할 수 없다. 대신 자식클래스의 재정의된 메소드(오버라이딩)는 자식클래스 것을 사용한다. ▶ 다운캐스팅이란? 다운캐스팅이랑 업캐스팅과 반대로 슈퍼클래스 객체를 서브클래스 타입으로 타입 변환함을 말한다. 업캐스팅 예제 (+동적바인딩과 정적바인딩) public class Shape { //슈퍼클래스 protected String .. 2022. 3. 16.
java 객체 지향의 상속이란? 특징/사용법/예제 ▶ 객체 지향의 상속이란? : 부모 클래스에 만들어진 필드, 메소드를 자식클래스가 물려받아 사용할 수 있다. ▶ 상속의 특징 1. 상속 받은 클래스는 상속해준 클래스의 메소드 및 변수를 활용 할 수 있다. 2. 상속을 통해 간결한 자식 클래스를 작성할 수 있다. → 동일한 특성을 재정의할 필요가 없기 때문에 자식 클래스가 간결해짐. 3. 상속 받은 메소드의 경우 이름만 갖다 쓰고 내용은 변경할 수 있다.(오버라이딩, 다형성) 4. 자바는 하나의 클래스가 하나의 클래스만 상속 받을 수 있다.(다중상속 불가) → 단, 상속을 해주는 것은 몇 번이고 가능하다. 5. fianl 클래스는 상속 불가하다. (final 메소드는 오버라이딩 불가) ▶ 상속 사용 방법 - 상속시에는 extends 키워드를 사용한다. [.. 2022. 3. 15.
[JAVA] static과 non-static 차이점 ▶ static 멤버란? 객체마다 생기는 것이 아닌 클래스당 하나만 생성할 수 있으며, 클래스 멤버라고도 부른다. 객체를 생성하지 않고 사용 가능하다. ▶ static 멤버의 특성 공유적 특성 - static 멤버들은 클래스 당 하나만 생성 시간적 특성 - static 멤버들은 클래스가 로딩될 때 공간 할당 공유의 특성 - static 멤버들은 동일한 클래스의 모든 객체에 의해 공유 ▶ 기본이 되는 non-static 멤버의 특성 공간적 특성 : 멤버들은 객체마다 독립적으로 별도 존재, 인스턴스 멤버라고도 부름 시간적 특성 : 필드와 메소드는 객체 생성 후 비로소 사용 가능 비공유 특성 : 멤버들은 다른 객체에 의해 공유되지 않고 배타적 static 멤버 예제 public class Calc { //클래.. 2022. 3. 9.
JAVA 클래스 선언과 생성자, 객체 생성(+getter/setter) ▶ 클래스 구성 요소 (1) 멤버 : 필드(Field), 메소드(Method) (2) 생성자 - 참고 : 지역 변수는 메소드 내부에 선언된 변수. 매개 변수도 일종의 지역 변수이다. *필드와 지역 변수의 차이 - 필드는 기본 값이 있지만, 지역변수는 기본 값이 없어 반드시 초기화 (필드는 값을 할당하지 않아도 기본 값을 할당 받게 된다.) - 필드는 클래스 전체에서 사용할 수 있지만 지역 변수는 선언된 블록 내부에서만 사용 가능 ▶ 클래스 선언과 파일 - 보통 소스 파일마다 하나의 클래스를 선언하지만, 2개 이상의 클래스를 하나의 파일 선언 가능 - 하나의 파일에 클래스가 둘 이상 있다면 하나만 public으로 선언할 수 있고, 해당 클래스 이름은 소스 파일 이름과 동일해야함 ▶ 객체 생성 클래스이름 변.. 2022. 3. 7.