본문 바로가기
반응형

Work & Study/JAVA (& 혼공자Java)70

자바(Java) - 상속1 (클래스 상속) 현실에서 상속은 부모가 자식에게 물려주는 행위 이다. 동일하게 객체지향 프로그래밍에서도 부모 클래스의 멤버를 자식 클래스에게 물려줄 수 있다. 부모 클래스 = 상위 클래스 자식 클래스 = 하위 클래스 상속(inheritance)은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 콛를 줄여준다. 상속을 이용하면, 부모 클래스의 수정으로 모든 자식 클래스들도 수정되는 효과를 가져오기 때문에 유지 보수 시간을 최소화할 수 있다. 클래스 상속 프로그램에서 상속은 자식 클래스를 선언할 때 어떤 부모 클래스를 상복 받을 것인지 결정하고, 선택된 부모 클래스는 다음과 같이 extends 뒤에 기술 한다. class 자식클래스 extends 부모클래스{ //필드 //생성자 //메소드 } 여러.. 2020. 10. 26.
자바(Java) - 패키지와 접근 제한자3 (Getter & Setter 메소드) 객체 지향 프로그래밍에서는 객체의 필드를 객체 외부에서 직접적으로 접근하는 것을 막는다. 그 이유는, 외부에서 마음대로 변경할 경우 객체의 무결성(결점이 없는 성질)이 깨질 수 있기 때문이다. 그래서 클래스를 작성할때 조건이 없다면 모든 필드는 private으로 선언한다. Setter 메소드 외부의 값을 받아 필드의 값을 변경하는 것이 목적이다. 매개값을 검증해서 유효한 값만 객체의 필드로 저장할 수 있다. 'set필드'는 외부에 값을 받아 필드에 저장 void setSpeed(double speed){ //검증 코드 if(speed 2020. 10. 20.
자바(Java) - 패키지와 접근 제한자2 (접근 제한자) 접근 제한자 클래스와 인터페이스 및 다른 패키지에서 사용하지 못하도록 접근 제한하여 접근 제한자를 사용한다. 접근 제한자 종류 pulbic 접근 제한자: 외부 클래스가 자유롭게 사용할 수 있도록 함 protected 접근 제한자: 같은 패키지 또는 자식 클래스에서 사용할 수 있도록함 private 접근 제한자: 외부에서 사용할 수 없도록 함 default 접근 제한자: 같은 패키지에 소속된 클래스에서만 사용할 수 있도록 함 클래스 접근 제한 같은 패키지 내에서만 사용할 것인지 다른 패키지 내에서도 사용할 수 있도록 할 것인지 결정한다. //default 접근 제한 class 클래스 { ... } //pulbic 접근 제한 public class 클래스 { ... } default 접근 제한 클래스 선언시.. 2020. 10. 20.
자바(Java) - 패키지와 접근 제한자1 (패키지선언 & import문) 자바에서는 클래스를 체계적으로 고나리하기 위해 패키지(package)를 사용한다. 패키지를 선언하는 방법과 패키지 간의 접근을 위한 접근 제한자에 대해 이야기 해보려 한다. 패키지 패키지의 물리적인 형태는 파일 시스템의 폴더 이다. 패키지는 클래스의 일부분으로, 클래스를 유일하게 만들어주는 식별자 역할을 한다. 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다. 클래스의 전체 이름은 '패키지 이름+클래스 이름'으로 표현 com.mycompany.A com.yourcompany.B 패키지 선언 클래스 작성 시 해당 클래스가 어떤 패키지에 속할 것인지를 선언하는 것 package 상위패키지.하위패키지; public class ClassName { ... } 패키지 이름 규칙 숫자로 시작 불가.. 2020. 10. 19.
자바(Java) - 인스턴스 멤버와 정적 멤버3 (싱글톤 & final필드, 상수) 싱글톤(Singleton) 전체 프로그램에서 단 하나의 객체만 만들도록 보장하는 코딩 기법이다. 싱글톤 작성 방법 클래스 외부에서 new연산자를 통해 생성자 호출하는 것을 불가하도록 private 접근 제한자를 붙여서 사용한다. 자신의 타입인 정적 필드 선언 후 자신의 객체 생성해 초기화한다 외부에서 호출할 수 있는 getInstance()를 선언하고 정적 필드에서 참조하고 있는 자신의 객체를 린턴한다. public class 클래스{ //정적 필드 private static 클래스 singleton = new 클래스(); //생성자 private 클래스(){ } //정적 메소드 static 클래스 getInstance() { return singleton; } } 외부에서 객체를 얻는 유일한 방법은 g.. 2020. 10. 16.
자바(Java) - 인스턴스 멤버와 정적 멤버2 (정적 멤버 & static) 정적(static) 멤버 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다 정적 멤버 선언 정적 필드와 정적 메소드 선언은 선언시 static을 추가적으로 작성하면 된다. public class 클래스{ //정적 필드 static 타입 필드 [=초기값]; //정적 메소드 static 리턴 타입 메소드 (매개변수 선언, ...){ ...} } 정적 필드와 정적 메소드는 클래스에 고정된 멤버이므로 클래스 로더가 클래스(바이트코드)를 로딩해서 메소드 메모리 영역에 저장할 때 클래스별로 관리 된다. 그래서 클래스 로딩이 끝나면 바로 사용할 수 있다. 정적 멤버 사용 크래스 이름과 함께 도트(.) 연산자로 접근한다. 클래스.필드; 클래스.메소드(매개값, ... ); 예시1) C.. 2020. 10. 15.
728x90
반응형
LIST