목록dev-log (172)
오식랜드
Method Overloading : 하나의 클래스 내에서, 비슷한 동작을 하지만 인자의 개수나 타입이 다르게 필요한 행위를 같은 이름으로 메서드 선언이 가능하다 public int myMethod (int n){ } public String myMethod (String s){ } 비슷한 동작을 하는 메서드들을 일관되게 조작할 수 있다 메서드 명이 같아야 한다 인자의 개수 / 타입이 반드시 달라야 한다
객체 생성 // 방법 1 MyObj obj = new MyObj(); // 방법 2 MyObj obj; obj = new MyObj(); 멤버 접근 // 멤버 변수에 값 설정 obj.attr = 10; // 메서드 호출 obj.getAttr(); 클래스 내에서 멤버 접근 : this int num; public void myMethod(int num){ // 멤버변수 num과 인자로 받은 num의 구분이 모호함 num = num; // this로 구분 // this는 메서드를 호출한 객체를 가르킨다 this.num = num; }
클래스의 구조 [접근 제한] [클래스 종류] class { // 멤버 변수 선언 (속성) // 생성자 선언 // 메서드 선언 (행위) } [ ] : 선택 사항 : 필수 사항 멤버 필드 instance 멤버 필드 : 각 객체마다 가질 수 있는 고유의 값 static 멤버 필드 : 같은 클래스로 생성된 객체들이 모두 공유하는 값 Method : 객체가 수행할 수 있는 동작 정의 멤버 필드를 조작하는 안전한 방법 제공 (getter, setter, access) ⇒ 정보 은닉 클래스 정의 내에 메서드 구현부를 모두 기술
클래스 (class) 객체를 만들기 위한 틀 객체가 지니는 “속성”과 “행위”를 추상적이게, 명확하게 정의 클래스 정의 멤버 필드 정의 (속성) : 변수와 상수 선언 (객체 생성과 동시에 값 초기화 가능) method 정의 (행위) 내부 클래스 (Inner class) 한 클래스 안에 정의된 또 다른 클래스 내부 클래스가 외부 클래스 멤버에 접근 가능 선언된 위치에 따라 변수와 같은 범위와 접근성을 갖게 됨 코드의 복잡성을 줄일 수 있음 정보 은닉 가능 객체 (object) 클래스의 구체적인 한 실례 (instance) 같은 클래스로 만들어진 각 객체는 속성에 고유의 값을 지니고, 동일한 행동을 할 수 있음 구성 요소 속성 (attributes) : 멤버 변수 : 객체의 상태 정보를 변수에 담아 표현 (..
절차 지향 언어 vs 객체 지향 언어 절차 지향 언어 함수 기반 데이터 먼저 기술 데이터를 조작하는 함수 생성 각종 함수로 데이터를 조작해가며 문제 해결 객체 지향 언어 클래스(객체) 기반 데이터와 함수를 하나로 묶어 사용 객체들 간의 상호작용으로 문제 해결 더욱 명확한 프로그래밍 가능 객체 지향 언어의 특징 추상화 (Abstraction)객채드르이 공통괸 속성과 행위를 추출하는 것 한 대상에 대하여 원하는 목적이나 기능에 따라 여러 추상화 모델이 생성될 수 있음 : 문제 해결을 위해 중요 측면 만을 추출 캡슐화 (Encapsulation)정보 은닉과 연관되어짐 : 연관된 데이터와 알고리즘의 묶음 정보 은닉 (Information Hiding) : 인터페이스만 드러내고 내부 구현은 숨김 상속성 (Inhe..