[JAVA] 다형성(polymorphism)
·
프로그래밍/java
다형성(polymorphism) 여러가지 형태를 가질 수 있는 능력. = 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함. = 조상 클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있도록 함. class Tv { boolean power; int channel; void power() { power = !power; } void ChannelUp() { ++channel; } void ChannelDown() { --channel; } } class CaptionTv extends Tv { String text; void caption(String text) { Sustem.out.println(text); } } 지금까지는, 생성된 인스턴스를 다루기 위해 인스턴스 타입과 일치..
[JAVA] 패키지와 import, 제어자, 겟터와 셋터
·
프로그래밍/java
패키지 = 클래스의 묶음 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있다. 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있음. EX) String 클래스의 실제 이름은 java.lang.String이다. = > java.lang 패키지에 속한 String 클래스라는 의미 (lang은 java 패키지의 하위패키지) 패키지 선언문 - 반드시 소스파일에서 주석과 공백을 제외한 첫번째 문장으로서 존재햐아 함. - 하나의 소스파일에 단 한번만 선언 가능 - 해당 소스파일에 포함된 모든 클래스나 인터페이스는 선언된 패키지에 속함. - 소문자 권장 이름없는 패키지(unnamed package) 모든 클래스는 반드시 하나의 패키지에 포함되어야 함. 그런데 패키지 딱히 선언 ..
[JAVA] 오버라이딩(overriding)과 참조변수 super, super() 생성자
·
프로그래밍/java
오버라이딩(overriding) 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것 상속받은 메서드를 그대로 사용하기도 하지만.. 자손 클래스 자신에 맞게 변경해야 하는 경우가 존재함. package ch7; class Point { int x; int y; String getLocation() { return "x: " + x + ", y: " + y; } } class Point3D extends Point { int z; String getLocation() { return "x: " + x + ", y: " + y + ", z: " + z; } } public class Ex7_0 { public static void main(String[] args) { Point p1 = new Point..
[보안이슈] 메타버스를 악용한 "다크버스", 위협 행위자들의 새로운 은신처 될 가능성 존재
·
일상X사랑X돈/보안이슈
메타버스의 다크웹 버전이라고 불리는 "다크버스"가 사이버공간을 해치는 무법천지로 활성화 되고 있다. 다크버스가 메타버스 내부에 존재한다는 점을 제외하면 다크 웹과 비슷하며, 어떤 면에서는 다크 웹보다 위험하다고 볼 수 있다. 사용자가 가상세계와 물리적 실체가 연동되는 사이버-물리적 존재이기 때문이다. [다크버스의 다섯가지 위협 시나리오] 1. 불법 또는 범죄 활동을 조장·수행 위해 만들어졌으나, 해당 공간이 억압적인 단체나 정부에 의한 언론의 자유를 위해 사용될 수 있음. 2. 메타버스의 지하 시장을 위한 공간이 될 수 있다. (불법 범죄 활동에 사용) 법 집행기관에서는 이러한 공간을 사전에 알고 있더라도, 액세스 인증 토큰 없이는 침투가 불가능. 다크버스 내 사용자 공간은 눈에 잘 띄면서도 법의 통제를..
[JAVA] 상속
·
프로그래밍/java
상속 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것. - 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있음 - 코드를 공통적으로 관리 가능 - 코드 추가 및 변경 용이 class Parent { } // extends 키워드를 사용(조상 클래스를 확장한다는 의미) class Child extends Parent { ... } Parent 클래스와 Child 클래스는 서로 "상속 관계" - Parent: 조상 클래스 - Child: 자손 클래스 자손 클래스는 조상 클래스의 모든 멤버를 상속받는다. 그렇기에 Child 클래스는 Parent 클래스의 멤버를 모두 포함하고 있음. 그러나 자손 클래스인 Child에 새로운 코드가 추가되어도 조상인 Parent 클래스는 아무런 변화 X (물론 Paren..
[JAVA] 객체, 인스턴스, 클래스, 메서드, 변수, static
·
프로그래밍/java
한 파일에 여러 클래스 작성 - 하나의 소스파일에 둘 이상의 클래스를 정의하는 것도 가능하다. - 물론 하나의 소스파일에 하나의 클래스만을 정의하는 것이 보통임. [주의사항] - 소스파일의 이름은 public class와 일치해야 한다. - 소스파일 내 public class가 없다면, 소스파일의 이름은 소스파일 내 어떤 클래스 이름으로 해도 상관 없음. // 올바른 작성 예 // Hello2.java public class Hello2 {} class Hello3 {} // Hello3.java class Hello2 {} class Hello3 {} // 잘못된 작성 예 // Hello2.java public class Hello2 {} public class Hello3 {} //하나의 소스파일에 ..
[JAVA] 2차원 배열과 초기화
·
프로그래밍/java
package ch5; public class Ex5_9 { public static void main(String[] args) { int[][] score = { {100,100,100}, {20,20,20}, {30,30,30}, {40,40,40}, {50,50,50} }; //과목별 총점 int korTotal = 0,engTotal=0, mathTotal=0; System.out.println(" 번호 국어 영어 수학 총점 평균 "); System.out.println("============================="); for(int i=0;i
[보안이슈] CVE-2022-0028, 팔로알토 방화벽에서 발견. 최근 공격 트랜드는 디도스..
·
일상X사랑X돈/보안이슈
미국 사이버 보안 전담 기구 CLSA 曰 팔로알토 네트윅스(Palo Alto Networks)의 방화벽 제품에서 발견된 고위험군 취약점이 활발하게 익스플로잇... (CVE-2022-0028) 팔로알토 측에서는 해당 취약점에 대한 패치와 보안 경고문을 이미 발표한 상태이다. 해당 취약점을 통해 DDoS 공격 시도 시 공격의 근원지가 팔로알토의 PA 시리즈, VM 시리즈, CN 시리즈 방화벽인 것처럼 보이게 할 수 있다. 다만, 익스플로잇에 성공했다고 해서 내부 네트워크에 접속할 수 있는 것은 아님. 사업 행위가 중단될 뿐... ※ PA 시리즈: 하드웨어 / CN 시리즈: 컨테이너 취약점이 발생한 이유는 URL 필터링 관련 정책이 잘못 설정되어있기 때문이다. → 표준이 아닌 설정이 적용된 인스턴스들은 위험할..