일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 클래스 패스
- LANG
- 연결된 예외
- bubble-sort
- 객체지향
- java
- 암호론
- OOP
- 현대암호
- 디렉티브
- 자료구조
- 알고리즘
- 소수판정
- 백준 알고리즘
- 2884
- class
- 자동 형변환
- 형변환 연산자
- BufferedWrite
- try&catch
- 객체
- 재귀호출기본
- lang package
- 백준
- JSP
- jvm
- 공개키 암호
- 프로그래밍
- 예외처리
- HTML
- Today
- Total
목록OOP (16)
코드일기장

추상클래스 추상클래스는 미완성 클래스라고 보면 된다. 말 그대로 완성되지 않은 클래스이다. abstract class Game{ //추상클래스(미완성 클래스) abstract void play(int pos); //추상 메서드 (몸통 {}이 없는 미완성메서드) abstract int score(); } public class ArrayListEx1 { public static void main(String[] args)throws IOException { Game g = new Game(); } } main메서드에 Game객체를 생성한다면 에러가 날 것이다. 추상 클래스는 추상클래스만으로 객체를 생성할 수 없다. 추상클래스의 용도는 다른 클래스에게 영향을 주기 위함이다. 추상클래스는 상속을 통해 미완성된..

- 사용할 수 있는 멤버의 개수를 조절하는 것 형변환이 가능할 때는 조상 자손 관계의 참조 변수는 서로 형 변환 가능 (서로 상속관계에 있는 타입 간의 형 변환만 가능) 자손 타입에서 조상 타입으로 형변환하는 경우, 형변환 생략 가능 자손 타입-> 조상 타입 (Up-casting) :형변환 생략 가능 조상 타입-> 자손 타입(Down-casting): 형변환 생략 불가 public class OOP { public static void main(String[] args) { dog d = new dog(); animals a = (animals)d; //Up-casting조상인 animals타입으로 형변환 (생략가능) animals a= d dog d2 = (dog)a;//Down-casting자손인 d..

다형성(polymorphism) 여러 가지 형태를 가질 수 있는 능력 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 Parent p = new Parent(); //타입일치 Child c = new Child(); //타입일치 Parent p2 = new Child(); //타입불일치 위 3행 코드처럼 조상 타입 참조 변수로 자손 타입 객체를 다루는 것이 가능하다. (참고로 Child는 Parent에게 상속받았다.) class MainClass{ public static void main(String[] args) { Parent p = new Parent(); //타입일치 Child c = new Child(); //타입일치 Parent p2 = new Child(); //타입불일치 } } cla..

접근 제어자는 맴버 또는 클래스에 사용된다. 접근 제어자의 역할은 해당하는 맴버 또는 클래스를 외부에서 접근하지 못하도록 제한을 해준다. 접근 제어자는 4가지이다. private 같은 클래스 내에서만 접근 가능하다. (default) 같은 패키지 내에서만 접근 가능하다. (참고로 default는 접근제어자를 따로 안 적는다. 접근제어자의 기본값이다.) protected 같은 패키지와 다른 패키지의 자손 클래스에서 접근 가능하다. public 접근 제한이 없다. 접근제어자 범위를 나열해보면 public> protected>(default)>private 왼쪽이 범위가 넓은 쪽이다. 제어자 같은 클래스 같은 패키지 다른 패키지의 자손클래스 전체 public O O O O protected O O O (def..

제어자 제어자(modifier)는 클래스, 메서드, 변수의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 2가지이다. 접근제어자와 그 외의 제어자로 나뉜다. 접근 제어자 public, protected, (default), private 그 외 static, final, abstract, native, transient, synchronized, volatile, stricffp 하나의 대상에 제어자를 여러개 사용할 수 도 있다. (단, 접근 제어자는 반드시 하나여야 한다.) public static final int value=5; 위 코드는 제어자를 3개 사용했다. (접근 제어자 1+ 그 외 제어자 2) 이처럼 하나의 대상에 꼭 하나의 제어자만 사용할 수 있는 게 아니다. 위..

참조변수 super super는 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는 데 사용되는 참조 변수이다. this를 사용하는 목적 중 하나인 지역변수와 인스턴스 변수를 구별할 때 사용한 것처럼 super는 상속받은 멤버와 자신의 맴버와 이름이 같을 때는 super를 붙여서 구별할 수 있다. this와 super는 매우 유사하다고 결론 지을 수 있다. !결론! this - iv와 lv 비교 super- 상속받은 멤버와 자신의 맴버 비교 import static java.lang.System.out; public class Main { public static void main(String[] args) { Child c = new Child(); c.method(); } } class Par..

🎈단일상속 Java는 단일상속만 허용한다. (C++은 다중상속 허용) class Child extends Parent1,Parent2{ // error 상속은 단 하나의 클래스에게만 받을 수 있다. } Java를 다중상속처럼 사용할 수도 있다. 인터페이스를 사용하는 방법과, 비중이 큰 클래스는 상속, 비중이 적은 클래스는 포함관계를 사용하면 된다. 🔑 예시 코드 더보기 public class inheritance { public static void main(String[] args) { Child c1 = new Child(); c1.age = 1000; System.out.println(c1.age + " " + c1.p2.name); Child c2 = new Child(new Parent2("kw..