개발 노트237 static 이 붙으면 overriding 불가한 이유 ◎ static 이 붙은 경우 컴파일 시 data 영역에 메모리가 이미 할당되므로 오버라이딩 할 수 없다 오버라이딩은 런타임 시 인스턴스화(객체화) 하여 만들어낸 인스턴스의 메소드나 변수에 재정의한 값을 사용하지만 static 이 붙은 변수나 메소드는 이미 컴파일 시 정해져 클래스 전역에서 사용하는 값이므로 static 이 붙은 데이터는 클래스의 값이지 인스턴스의 값이 아니다. 그러므로 static 은 오버라이딩 할수없다 2022. 5. 2. [java] interface , implements inter 서로 + face 마주보다 = interface 연결장치 implements (변화된 것을)시행하다, 구현하다 뜻에서 알수있듯 서로 다른 클래스들에게 서로 연결을 시켜줄수있는 방법이 인터페이스이다 extends 를 통한 상속은 java 에서 단일 상속만 가능해 클래스 간 하나의 관계만을 가질수있지만 implements 를 통한 상속은 여러 interface 를 상속 가능하다 이는 interface 가 클래스가 아닌 추상적 개념이기 때문이다 abstract class 클래스명 구조의 추상적"인" "클래스"보다 더욱 추상적인 개념이므로 interface 인터페이스명 으로 써서 class 라고 쓰지도 않는다 (즉, 클래스가 아니다) class 는 뭐다? 객체가 될 수 있는 것이다. 즉, 인터페이스는.. 2022. 5. 2. 객체지향 프로그래밍의 4가지 특징 기억하자 추 캡 상 다 º 추상화 abstraction 객체를 설명하기위해 객체들의 공통적인 특징들을 가진 것끼리 묶어 클래스라는 추상적인 객체를 만드는 것 클래스가 없는 객체지향 언어도 있다 (javascript) º 캡슐화 encapsulation 객체의 변수(속성) 과 메소드를 묶어 구현내용을 외부에 감추는것 외부의 객체는 구현 부분을 알지 못하니 정보를 은닉할 수 있고 객체를 보호하는 기능도 있다 java 에서는 접근제한자를 사용하여 캡슐화 하고 있다 º 상속 inheritance 이전에 작성한 클래스(부모클래스, 상위클래스)의 속성(변수, 메소드 등의 기능)을 받아서 새로운 클래스 (자식클래스, 하위클래스) 에서도 사용 가능하도록 한 것 중복되는 코드(기능)를 부모 클래스에 넣고 기능을 받아사용.. 2022. 5. 2. 객체 지향 프로그래밍 OOP 객체지향 프로그래밍이란 프로그램을 만드는 방식 중 하나이다 객체란, 속성(기능)을 가지고 있는 모든 것을 임의로 묶어 말하는 것을 말한다 즉 우리가 설명가능하면 무엇이든 객체화 할수있다 약자는 OOP (Object Oriented Programming) 이다 object 는 객체, orient 지향하다 라는 뜻을 가지고 있다 말그대로 객체를 지향하는 프로그래밍이다 객체라는 범위을 정의하고 그 객체별로 역할을 부여하고 그 객체끼리의 상호작용으로 논리를 이루도록 하는 방식을 뜻한다 어떻게 how 에 중심을 맞춘 방식이다. 그 목적을 달성하기까지의 과정 (어떻게?)을 설명하는 프로그래밍이다 작동에 필요한 알고리즘을 제어문과 상태변화로 표현한다 제어문 : 조건문 : if 문, else 문, else if 문 반.. 2022. 4. 30. 이전 1 ··· 52 53 54 55 56 57 58 ··· 60 다음