공부
-
매개변수의 다형성공부/Java 2024. 2. 28. 18:00
매개변수의 다형성 ※ 다형성의 장점 1. 다형적 매개변수 2. 하나의 배열로 여러종류 객체 다루기 해당 포스팅에서는 1. 다형적 매개변수에 대해 작성하고자 한다. 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손 타입의 인스턴스를 넘겨줄 수 있다. 예제 class Product { int price;// 제품가격 int bonusPoint;// 보너스 점수 } class Tv extends Product {} class Computer extends Product {} class Audio extends Product {} class Buyer {// 물건 사는 사람 int money = 1000;// 소유 금액 int bonusPoint = 0;// 보너스 점수 } 다형성에 대해 배우지 않..
-
instanceof 연산자공부/Java 2024. 2. 26. 23:47
instanceof 연산자 - 참조변수의 형변환하기 전에 가능 여부 확인에 사용하며, 가능하면 true를 반환한다. - 형변환 가능 여부를 확인하는 연산자기 때문에, 조상도 true가 나온다. - 형변환 전에 반드시 instanceof로 확인해야 한다. 예제 void doWork(Car c) { if (c instanceof FireEngine) {// 1. 형변환이 가능한지 확인 FireEngine fe = (FireEngine) c;// 2. 형변환 } }
-
다형성 (polymorphism)공부/Java 2024. 2. 24. 22:36
다형성 (polymorphism) 다형성 - 여러 가지 형태를 가질 수 있는 능력 - 자손 타입 참조 변수로 자손 타입 객체를 다루는 것 ※ 객체 타입에 따라 사용할 수 있는 멤버 수가 달라진다. - 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. - 조상 멤버와 자손 멤버를 비교해 자손 멤버가 많은 경우 정상 작동되지만, 조상 멤버가 많으면 에러가 발생한다. - 참조변수가 조상타입일 때와 자손타입일 때 참조변수로 사용할 수 있는 멤버의 갯수가 달라진다. → 조상이 많을 때, 리모콘을 통해 없는 멤버를 호출할 수 있기 때문에 에러가 발생한다. Tv 클래스를 조상 클래스, SmartTv 클래스를 자손 클래스로 가정했을 때, Tv t = new SmartTv(); → 정상 SmartTv s = ..
-
캡슐화와 접근 제어자공부/Java 2024. 2. 17. 20:20
캡슐화와 접근 제어자 접근 제어자를 사용하는 이유 - 외부로부터 데이터를 보호하기 위해서다. - 외부에는 불필요한, 내부적으로만 사용되는 부분을 감추기 위해서도 사용한다. 보호된 데이터는 외부에서 직접 접근을 막고, public 메서드를 통해 간접접으로 접근하게 된다. 외부로부터의 직접 접근을 막고 간접 접근을 허용하는 것이 캡슐화다. 조건에 맞지 않는 데이터는 걸러내고, 내가 원하는 조건의 데이터만 사용하기에 용이하다. 보통 메서드의 이름을 'get멤버변수이름'과 'set멤버변수이름'으로 하는 것이 관례이다. 주로 각각 겟터(getter)와 셋터(setter)라고 부른다. get 메서드는 멤버변수의 값을 반환하며, set 메서드는 매개변수에 지정된 값을 검사하려 조건에 맞는 값일 때만 멤벼변수의 값을 ..
-
접근 제어자(access modifier)공부/Java 2024. 2. 12. 01:14
접근 제어자 (access modifier) 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제어하는 역할을 한다. 하나만 사용할 수 있다. private 같은 클래스 내에서만 접근이 가능하다. default 같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내에서, 또는 다른 패키지의 자손 클래스에서 접근이 가능하다. public 접근 제한이 전혀 없다. 접근 범위가 넓은 쪽에서 좁은 쪽의 순으로 나열하면 아래와 같다. public > protected > (default) > private 클래스에는 public과 default를, 멤버에는 4가지를 모두 붙힐 수 있다. 제어자 같은 클래스 같은 패키지 자손클래스 전체 public O O O O..
-
제어자(modifier)공부/Java 2024. 2. 11. 22:03
제어자(modifier) 제어자클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여제어자는 접근 제어자, 그 외로 나뉜다. 접근 제어자 public, protected, default, private 그 외 static, final, abstract, native, transient, synchronized, volatile, strictfp 접근 제어자는 넷 중 한개만 사용할 수 있다. ※ default는 아무것도 붙히지 않은 것 하나의 대상에 여러 제어자를 같이 사용할 수 있다. 관례적으로 접근 제어자는 가장 왼 쪽에 사용한다. static '클래스의' 또는 '공통적인'의 의미를 갖는다. 멤버변수, 메서드, 초기화 블럭에서 사용할 수 있다. 제어자 대상 의미 static 멤버변수 - 모든..
-
import문과 static import문공부/Java 2024. 2. 7. 23:55
import문과 static import문 import문 클래스를 사용할 때 원래 패키지 이름을 입력해야 하지만, import문을 사용하면 패키지 이름을 생략할 수 있다. 컴파일러에게 클래스가 속한 패키지를 알려준다. ※ 이클립스에서 단축키는 Ctrl + Shift + o java.lang 패키지는 자바의 기본 패키지기 때문에 import 하지 않고도 사용할 수 있다. 사용방법 import 패키지명.클래스명; 또는 import 패키지명.*; import문은 패키지문과 클래스선언의 사이에 선언한다. import 패키지명.클래스명; -> 해당되는 클래스 하나만 import한다. import 패키지명.*; -> 패키지에 속한 모든 클래스를 import한다. 실행 시 성능상의 차이는 거의 없다. static i..