OOP적인 프래그램을 하는 과정
① 데이타 형을 정의한다
② 데이터 형을 인스턴스화 한다.
③ 인스턴스를 활용한다.
1.package 키워드
이름 중복 문제를 해결하기 위해서 package+packagename 과 같은 방식으로 구성하며
packagename은 폴더 이름을 사용하도록 함으로서 이름 중복 문제를 해결합니다.
2. class 키워드
[dynamic] [public | internal] [final] class ClassName
[extends superClass] [implements interfaceName[,interfaceName...]] {
}
- dynamic
클래스를 실행 시간에 데이터 형을 결정하는 방식
인스턴스 생성한 이후에 자신 나름대로 속성이나 함수를 동적으로 삽입이 가능
메모리를 많이 사용하며 속도가 느려질수 있음
- final
함수 Override 나 상속을 불가
-extends
상속관계를 구성할때 사용
-implements
인터페이스를 구현할때 사용
다중 인터페이스 구현 가능
OOP 은닉성을 지원해주는 명령어
| 접근제한자 | 설명 |
| internal(기본값) | 같은 as 파일에서만 접근 가능 |
| private | 상속 관계에선 접근 불가능, 인스턴스에서 접근 불가능 |
| protected | 상속 관계에서 접근 가능. 인스턴스에서 접근 불가능 |
| public | 상속 관계에서 접근 가능. 인스턴스에서 접근 가능 |
| static | 인스턴스에서 접근 불가능. 클래스 이름만 접근 가능.사용자정의 |
| Namespace | 정의한 Namespace로 접근 가능 |
OOP 상속성을 지원해주는 명령어
클래스 이름과 동일한 function을 생성자라고 한다
var instance:Class = new Class();
인스턴스 클래스
상속:다른 클래스가 가지고 있는 기능을 자신의 것으로 편입하는 기술
상속을 하는 이유 : 코딩의 재사용성과 클래스를 사용하는 사람의 입장에서의 편의성
is-a 상속
서로 동일한 기능을 구현하는 클래스 사이에 사용
인터페이스를 이용한 구현 상속 또는 인터페이스 상속과 일반 상속으로 구분
package Goods.Refrigeratiors.LG
{
import Goods.Refrigerators.LG.SmallService
public class BigService extends SmallService
{
public function BigRepair():void
{
trace("Big Repair");
}
}
}
has-a 상속
서로 이질적인 성경의 클래스 사이에 사용하는 방법으로 하나의 인스턴스 변수로 사용하는 방법
뭐든지 내부에 변수화해서 자유롭게 사용 가능
package Goods.Refrigeratiors.LG
{
import Goods.Refrigerators.LG.SmallService
public class BigService
{
public var vSmallService:SamllService = new Smallservice();
public function BigRepair():void
{
trace("Big Repair");
}
}
}
OOP 다양성을 지원해주는 명령어
Interface
클래스의 사용법을 표준화하는 것이 인터페이스의 가장 중요한 목적
override
최종 인스턴스에 의해서 상속 받은 메서드가 Visible 되도록 해주는 키워드
특수 유형 연산자
명령문, 키워드 및 지시문
참고
새롭게 시작하는 플래시 CS3 액션스크립트 3.0 ( 윤훈남 )
댓글 없음:
댓글 쓰기