허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

객체 생성 : 만들어진 객체 사용, 변수, 메서드 혹은 멤버 필드

class_name 변수 = new class_name_method();

기본 자료 타입 변수는 선언하면 메모리 공간이 할당됨.

‘레퍼런스 타입(배열, 클래스, 인터페이스)’은 new를 이용해서 객체를 생성하기 전까지는 메모리 공간이 할당되지 않음.


레퍼런스

- " == " : 메모리 주소 비교 / 기본형에서는 크기 비교

- “equals()" : 레퍼런스 에서만 쓰임. 내용 비교


객체 생성과 패키지

생성자(Constructor) : class 이름과 동일한 이름을 갖는 메서드

default 생성자는 프로그램에서 생성자를 정의하지 않는 경우에 자바의 컴파일러에 의해서 자동적으로 생성된다.

class 변수(객체) = new 메서드();

I) memory 할당

ii) default 초기화

iii) 명시적 초기화 : 생성자에서 명시한 경우

this : 클래스 내에서 자기 자신을 자리키는 레퍼런스

1. 상속받은 부모 클래스가 아닌 자기 자신의 멤버필드나 메서드를 명확히 표현하기 위해서 사용한다.

2. this 는 객체 전체를 함수(메서드)의 매개변수로 전달

this()는 생성자 안에서만 사용가능. 명시적인 초기화 이용시 사용


Overloading : 한 클래스 내에서 함수(메서드) 이름을 동일하지만, 함수의 매개변수(타입이나 수)가 다른 경우.


상속(Inheritance)

class 자식 클래스 extends 부모 클래스

크기 비교 : 부모 클래스 > 자식 클래스

super : 상위 클래스(부모 클래스)의 메소드나 멤버필드 필요시 자식 클래스에서 사용

super() : 상위 클래스(부모 클래스)의 생성자 호출



오버라이딩(Overriding) : 얹어타기 : 나는 차려진 밥상에 숟가락만 얹는다.

상위 클래스(부모 클래스)에 있는 메서드를 서브 클래스에서 다른 작업을 하도록 동일한 함수 이름으로 재정의 하는 것.

▩ 추상화 클래스를 상속받아 사용할 경우 대부분 오버라이딩

public abstract class Human {

public abstract void...

}

public class Korea_human extens Human {

public void ...

}

public class Honeymon extends Korea_human {

public void

}

 단일 상속
인터페이스 : 다중 상속
 
 


언어의 추상화

추상화(Abstract) 물체 또는 현상의 주요 특성만을 표현하는 개념

1. 자료의 추상화 : 주어진 자료 구조, 자료를 사용자가 이해 가능하게 표현하는 방식

기본적 추상 : 저장값이 추상화, 컴퓨터의 자료를 bit 열이 아닌 자료의 성질,

기억 장소의 명칭을 이용하여 표현

구조적 추상 : 서로 관계가 있는 메모리 셀 간의 구조에 대한 추상화로서 구조적

자료형인 배열이 이에 해당

단위적 추상 : 추상 자료형 / 자료의 캡슐화(package, class)

2. 제어의 추상화 : 의미있는 여러 제어문(기계어)를 사용자가 이해 가능하게 표현하는 방식으로 조건문, 반복문 등이 이에 해당

기본적 추상 : 몇 개의 명령문을 하나의 추상적 구문으로 구성

구조적 추상 : 구조적 명령문 : 조근을 포함하여 실행될 명령문을 단일 그룹으로...




내용이 많이 부족합니다. ^^;;
아직 제 자신의 머릿 속에서 추상화라는 개념이 확실히 자리잡힌 상황이 아니라서 그런 것 같습니다.
내 주변에서 일어나는 일들에 대해서 추상화를 하는 연습을 많이 해볼 예정입니다. ^^; 그렇게 적용하는 방법 밖에 없네요. ㅎㅎ