본문 바로가기
반응형

분류 전체보기167

JAVA 자바중요클래스 String, StringBuffer 클래스 1. String 클래스 사용 기법 String 클래스란? 문자열을 쉽게 조작할 수 있도록 객체모델링된 클래스이다. 문자열의 일부를 추출하거나 치환 등의 조작을 할 수 있다. String 클래스는 java.lang 패키지에 속한다. String 클래스 객체의 생성 생성자를 이용하는 방법 //String str = new String(“hi”); 문자열 상수를 배정하는 방법 //String str = “hi”; String 클래스의 주요 메소드 메소드 내용 int length() 문자열의 길이 반환 boolean equals(Object o) 문자열이 서로 같은지 비교 String substring(int start) start로 주어진 위치부터 마지막 문자까지.. 2021. 8. 9.
JAVA 추상클래스, 인터페이스, 내부클래스 추상클래스 추상클래스 개념과 abstract 수정자 추상클래스란? 실체가 없는 클래스를 의미한다. 추상 클래스를 상속받은 자식 클래스에서 특정 메소드를 반드시 구현하도록 유도할 수 있다. 추상클래스를 만드는 데 사용되는 단어가 abstract이다. abstract 수정자를 사용한 클래스를 추상 클래스라 한다. abstract 수정자란? 변수(멤버변수 포함)에 대해서는 선언이 불가능하고 메소드와 클래스에 대해서만 사용 가능하다. abstract에 의해 선언된 클래스 인스턴스를 생성할 수 없으며, abstract 메소드에는 코드를 기술하지 않는다. 인터페이스 인터페이스 개요 인터페이스란? 클래스에 기능을 붙이는 것을 의미한다. 자바언어에서 인터페이스는 객체를 모델링한 클래스가 아니고 기능만을 명시한 것이다... 2021. 8. 8.
JAVA this, super 수정자 클래스 기초 및 생성자 this와 super 레퍼런스 변수 super 상속관계에 있어서 자식 클래스에서 오버라이딩된 부모클래스의 메소드를 호출하기 위해 사용한다. 상속받은 자식클래스의 인스턴스가 생성되면 부모클래스를 지칭하는 레퍼런스 변수인 super를 사용할 수 있다. EX) super.메소드명(), super.멤버변수명 this 상속받은 자식클래스 자신을 가리키는 레퍼런스 변수이다. 자식클래스의 인스턴스가 생성될 때 자동으로 생성된다. 예제 상속과 관련된 생성자 문제 클래스 상속과 관련되어 생성자 작성시 주의해야 될 사항 생성자는 상속되지 않는다. 자식클래스는 자동적으로 부모클래스의 디폴트 생성자를 호출한다. 부모클래스에 있는 인자 생성자가 정의되었을 경우 디폴트 생성자를 같이 작성하지 않으면 자식클.. 2021. 8. 8.
JAVA 상속과 접근제어 자바에서의 상속 자바에서의 상속의 개념 상속이란? 부모가 가진 자원을 물려받는 것이다. 객체지향 프로그래밍에서 상속의 개념 기존 객체를 물려받아 필요한 기능을 추가하여 새로운 객체를 만드는 것 프로그램 개발 시간의 획기적인 단축이 가능하다. 접근제어기법 접근 제어 개념 접근제어란? 클래스 외부에서 클래스의 멤버변수나 메소드에 접근하는 것을 제어할 수 있도록 public, private, protected의 접근제한자를 선언하는 것을 의미한다. 외부에서 클래스의 멤버변수나 메소드에 마음대로 접근할 경우 문제가 발생될 수 있기 때문에 필요한 개념이다. 접근제한자 public 외부에서 마음대로 접근이 가능하다. private 외부에서는 접근이 불가능하다. protected 상속관계에 있는 클래스 또는 같은 페.. 2021. 8. 8.
Buffer Overflow 원리 - 공격-1 고전적인 방법 Buffer Overflow 공격 아래 코드의 프로그램을 사용할 것이다. 소스코드를 보면 실행 시 주어지는 첫 번째 인자를 buffer라는 char형 배열에 복사한다. 또한, bound check를 하지 않는 strcpy()함수를 이용하고 있다. 그렇다면 아마도 이 프로그램은 1024바이트의 버퍼 공간에 쉘 코드와 NOP로 채우고 4바이트는 main함수의 BP이므로 역시 NOP으로 채우고 다음 만나는 4바이트가 return address이므로 이곳에 쉘코드가 있는 곳의 address를 넣어주면 쉘코드를 실행시킬 수 있을 것이다. 그렇다면 이 쉘 코드가 있는 곳의 address찾는 것이 가장 큰 문제가 된다. 고전적인 방법 가장 고전적인 방법으로는 추측하는 것이다. 몇 번의 시행착오를 거치면서 쉘이 떨어질.. 2021. 8. 8.
JAVA 메소드, 생성자 클래스 기초 및 생성자 클래스란? 객체와 비슷한 의미로 현실세계의 물체 또는 개념을 프로그래밍에 적용하기위해서 속성과 기능을 가진 객체로 모델링하고 이를 추상화시킨 것이다. 클래스의 특징 클래스 명은 일반적으로 대문자로 시작한다. {} 사이에 클래스 내용을 작성해야한다. 클래스의 내용은 멤버 변수, 생성자, 멤버 메소드 등으로 구성된다. public 접근 권한을 부여하면 외부에서도 클래스를 사용할 수 있다. 인스턴스 생성 인스턴스란? 클래스를 메모리에 생성시킨 것이다. 클래스는 정의만 되어 있는 추상적인 개념이기 때문에 이를 사용하려면 메모리에 인스턴스가 생성되어야 한다. 인스턴스 생성의 특징 클래스를 사용하기 위해서는 인스턴스를 생성해야 한다. 인스턴스 생성시 클래스의 생성자를 호출하게 된다. 인스턴스.. 2021. 8. 8.
반응형