Java
어떠한 객체를 표현하기 위해 객체가 가지고 있는 특성과 기능을 논리적인 형태로 끄집어 내는 것.
데이터와 해당 데이터를 다루는 메서드들을 하나의 단위로 묶는 것
<<정보 은닉>>
캡슐 안에 정보은닉된 것들이 있을 수 있다.
<<getter>> ⇒ return
정보은닉이 되어 있는 속성에 대해 알려주는 메서드
public int getAge() { return age; // private int age; 라는 멤버 변수에 대해 }
<<setter>> ⇒
정보은닉이 되어 있는 속성에 대해 값을 넣어주는 메서드
메서드에 접근할 때 일반적으로
객체명.멤버메서드명();
로 접근.
private는 방법이 조금 다름.
생성자 메서드와 일반 메서드의 차이는 뭘까?
⇒ 호출할 때마다 초기화된다는 점에서 다르구나. 맞네
package ex7;
public class Dog{
public String breed;
public String color;
protected int age;
private String name;
public void bowwow() {
System.out.println("멍멍 짖다");
sleep();
}
protected void run() {
System.out.println("달리다");
}
// public Dog(String breed,String color) {
// this.breed=breed;
// this.color=color;
//
// }
private void sleep() {
System.out.println("잠을 자다");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void printInfo() {
System.out.println(breed+"::"+color);
}
}
package ex7;
public class AccessModifier03 {
public static void main(String[] args) {
Dog obj = new Dog();
obj.breed = "포메라니언";
obj.color = "갈색";
System.out.println("강아지 품종 : "+obj.breed);
System.out.println("강아지 색상 : "+obj.color);
obj.bowwow() ;
obj.age = 10;
System.out.println("강아지 색상 : "+obj.age);
obj.run();
obj.setName("다운");
System.out.println("강아지 색상 : "+obj.getName());
}
}
<장점>
다형성을 통해 쉽게 처리할 수 있다.
부모클래스(=슈퍼클래스)
자식클래스(=서브클래스,파생클래스)
상속관계를
new로 사용한다면
개발 보안의 3대 요소
💡 개발 보안의 구성요소로 3가지가 있다.
- 기밀성
- 무결성
- 가용성
기밀성 ( Confidentiality )
💡 기밀성 ( 인가 되지 않은 접근은 차단 )
- 인가되지 않은 접근에 따른 정보공개 및 노출을 차단
무결성 ( Intergrity )
💡 무결성 ( 인가된 사람 수정O, 전송중인 정보는 수정X )
- 인가된 사용자만 자원 수정 가능하며, 전송 중인 정보는 수정되지 않아야 함.
가용성 ( Availability )
💡 가용성 ( 인가되면? 언제든 접근 가능 )
- 인가된 사용자는 언제든 자원 접근이 가능하다
개발 보안 용어
💡 개발 보안 용어는 4가지가 있다.
- 자산
- 위협
- 취약점
- 위험