객체지향 [JAVA]객체지향(10): 팩토리 메소드 패턴, 람다식 저번 시간에 우리는 BeanFactory 클래스에서 싱글톤을 이용해 객체를 만들어 보았다. 위와 같이 객체를 2개 생성하지 않고 하나의 객체를 이용해 bf1, bf2를 만들었다. BeanFactory를 이용해 객체를 생성하기 BeanFactory 클래스에서 Bus()를 호출하는 getBus() 메소드를 만든다. 보통 Bus 객체를 만들때와 같이 직접 객체를 생성했었다. 하지만 위의 코드는 생... Java객체지향Java [JAVA]객체지향(8) : 인터페이스 만들어야 할 기능들을 관련된 것끼리 묶은 후 이름을 지어준다. [public] interface 인터페이스이름 {... 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract 이어야 한다.(JAVA 7까지는) final, abstract를 생략하면 자동으로 붙는다. LottoMachine 인터페이스를 만들어 보자. 1~45까지 써있... Java객체지향Java Spring 객체지향 원칙 Open-Closed Principle 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. 구현 객체를 변경 할 때 클라이언트 코드(interface부)를 변경해야하면 안된다. Dependency Inversion Principle 추상화에 의존해야지, 구체화에 의존하면 안된다. 클라이언트가 구현 클래스에 의존하지 말고, 인터페이... 객체지향SpringOOPOOP Java 프로그래밍 : 객체지향 (3) 상속 (extends) 상속을 사용하면 코드 중복을 제거하고, 기존 클래스를 확장하기 쉬워 프로그램 확장성을 증가시킬 수 있다. class A extends B {} 와 같은 형식으로 사용한다. B 클래스를 A가 상속받는 것이다. 이 경우 B가 부모 클래스, A가 자식 클래스가 된다. 해당 클래스의 필드는 물론이고 메소드를 그대로 사용할 수 있다. 업캐스팅이란, 자식 객체를 부모의 타입으로 ... 자바객체지향protected상속그룹화super인터페이스접근제어자업캐스팅오버라이딩다형성OOPJavaJava static 과 객체지향적 관점 Static Static 메서드 인스턴스를 생성하지 않고도 메모리에 할당시켜, 호출이 가능한 static 메서드가 된다. static 메서드 내에서는 인스턴스 멤버들을 직접 사용 할 수 없다. Static 멤버변수 (클래스변수) 때문에 원래 인스턴스 변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 갖지만, static 멤버변수는 인스턴스에 관계없이 같은 값을 갖는다. 자바 메모리 공... Javacleancode객체지향Java final 과 객체의 불변성 final : 마지막의, 변경될 수 없는 변수에 사용했을 시 값을 변경 할 수 없는 상수가 된다. 한번 입력한 값이 최종값 (static은 변경이 되더라도 항상 서로 같은 값을 share 개념) ( 이 기능을 활용하면 각 인스턴스마다 final이 붙은 멤버변수가 다른 값을 갖도록 하는 것이 가능하다 → 각자 생성자를 호출하니까) 객체에 사용했을 시 final 키워드는 값을 바꿀 수 없지만, ... Javacleancode객체지향Java 더 객체지향적인 Rails 다음과 같은 코드를 본 적이 있나? 아마 모든 코드가 그렇지는 않겠지만, 저런 코드를 본 적이 있을 것이다. 위 코드는 장황하고 읽기 어렵다. 또한 새로 기능추가를 하는 경우, 수많은 if~else 사이를 왔다갔다해야한다. 어떻게 고칠 수 있을까? 메소드의 이름인 role_name과 role_description에 힌트가 있다. 바로 Role이라는 PORO(Plain Old Ruby Obje... 객체지향Ruby on RailsOOPPOROOOP 컴포넌트와 객체지향적인 사고 객체지향 어디서 많이 들어본 말이다. 절차지향의 정의는 다음과 같다. 여기서 객체는 다음과 같이 생각해볼 수 있다. 사실 더 생각해보면 돈을 지불한다던지 포스기에 음료를 찍는다던지.. 이런 식으로 말이다. 앞서 커피를 주문하라는 메시지 때문에 손님이라는 객체가 불러진 것처럼 말이다. 그 중 추상화의 정의는 다음과 같다. ex) 배, 비행기, 기차, 자동차는 모두 운송수단이라는 이름으로 묶을 ... 객체지향객체지향 [개발일지 3월 25일] [공통교육-웹기초] JavaScript 3/3 - 이고잉 강사 → topics2란 변수에 'html', 'css', 'js' 저장 → topics2.length(3) 미만까지 for문 반복 수행 → 실행 결과값을 loop1.html 본문에 출력 → <li>${topics[i]}</li> (백틱과 $를 통해서도 나타낼 수 있음) → 이후 inputs를 치면 모든 input값이 출력 for(let i=0; i<inputs.lenth; i=i+1){ for(... functionJavaScript함수for문변수objectif문객체지향CSSloophtmlCSS [JAVA] 객체지향(4) - 패키지, 상속 좋은 객체란 역할과 책임에 충실하면서, 다른 객체와 잘 협력하여 동작하는 객체를 말한다. 반대로 나쁜 객체란 여러가지 역할을 한 가지 객체에게 부여하거나, 이름과는 맞지 않는 속성과 기능을 가지도록 하거나 제대로 동작하지 않는 객체를 말한다. 프로그램 언어의 다형성은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수,변수,식,오브젝트,함수,메소드 등... Java객체지향Java [JAVA] 객체지향(3) static이라는 키워드가 함께 사용되는 필드는 클래스 필드, 함께 사용되지 않는 필드는 인스턴스 필드라고 한다. 접근 제한자는 public, protected, 아무것도 없는 경우(default), private이 올 수 있다. 타입(type)은 기본형(boolean, byte, char, short, int, long, float, double)과 참조타입(class,인터페이스, 배열) ... Java객체지향Java 방학 불태우기 6 자바스크립트에서의 다양한 사용 방법은 참고 링크를 확인한다. 객체와 인스턴스를 같다고 볼 수 있지만 자세히 살펴보면 객체는 클래스에 따라 구현할 대상이 되는 것이고 인스턴스는 구현된 실체를 의미한다. 예를 들어 설명하면 어떤 건축물의 설계도를 클래스, 설계도를 통해 지을 건축물을 객체, 실제로 지은 건축물을 인스턴스 라고 볼 수 있다. 객체지향에서는 어떤 클래스가 다른 클래스를 상속받게 되면... 다형성상속객체지향객체지향 22. 2차원 배열 사용하기 이차원 이상으로 구현 된 배열 평면 (이차원 배열) 이나 공간(삼차원 배열)을 활용한 프로그램 구현... Java객체지향자바Java TLI- 50 primitive type primitive type 을 알아볼때는 ''-> 문자열안으로 넣으면 안된다! ##객체 생성자 함수로 객체 만들기 function 이름 () {} => new 이름 () 객체에 속성(property)추가하기 .prototype(원형) 상속을 받는다.... 객체지향자바스크립트객체지향 11. 캡슐화 (encapsulation) 꼭 필요한 정보와 기능만 외부에 오픈함 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현 하게 함 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화 한다.... Java객체지향자바Java API vs Framework vs Library 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 API에 따라 접근 권한이 필요할 수 있다. 예시 - Kakao Map API, java API, 여러 기업들의 오픈 API Library는 응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 높은 소프트웨어 단어 뜻대로 도서관으로 생각해보자면, 필요한 책(필요한 기능,함수)이 있다면 대여하기 ... OOP객체지향공통CS면접준비OOP 20210816 운영체제 = JRE(Java Runtime Environment : 자바 실행 환경) JDK는 자바 소스 컴파일러 javac.exe를 포함하고 JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있다. 모든 자바 프로그램이 반드시 포함하는 java.lang 패키지를 static 영역에 가져다 놓는다. 그 다음 JVM은 개발자가 작성한 모든 import 패키지와 클래스들을 static ... TIL객체지향알고리즘TIL 하루5분코딩"객체지향" ## 객체지향 : 하나의 모델이 되는 청사진(class)을 만들고 청사진을 바탕으로 한 객체(instance) 를 찍어낸다. - 속성과 메소드 클래스에 속성과 메소드를 정의하고 instance에 이용. ✓속성 ex)브랜드, 이름, 색, 최고속도 ✓메소드 ex)연료채우기, 속도정하기, 운전하기 - 클래스 : 속성의 정의 (ES5) •function 으로 선언 (ES6) •class로 선언 - ... JavaScript객체지향JavaScript [기본]객체지향 프로그래밍 실생활 객체를 모방하여 프로그래밍 하는 방법으로, 속성(변수)와 기능(메서드)를 갖는다. 자바는 객체 지향 언어로서 Class 를 통해 객체를 정의하고 생성하여 사용한다. 상속 : 부모 클래스로부터 상속한 클래스를 통해 세분화된 객체를 생성한다. 부모 참조변수가 자식 인스턴스 참조할 수 있는 것. 오버로딩을 통해 같은 이름의 메서드가 매개변수에 따라 다양한 기능 수행하도록 하는 것. 오버라이... 객체지향스프링_기본객체지향 객체 지향과 디자인 패턴 [인투북스] 객체는 자신만의 프로시저와 데이터를 가지며, 각 객체들은 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다. 위의 '추상 타입과 실제 구현의 연결' 예제 코드에서 createLogCollector() 메서드를 이용해서 알맞은 구현 클래스의 객체를 생성하는 것이 1번 방법을 사용한 것이라 볼 수 있다. 한 객체가 다른 객체를 조립해서 필드로 갖는다는 것은 기능을 사용한다는 의미로, 위에서는... 디자인패턴객체지향객체지향 객체지향 (01-14-2021) - 27일차 이것은 오직 자바스크립트를 위한 것만이 아닌 프로그래밍을 하는 모두에게 갖춰져야할 기본 같은 것이다. 그렇다 이처럼 직원이 소수인 경우는 한명한명씩 일을 지시하는 것은 크게 힘들지 않을 것이다. 이렇게 직원들은 게시판을 참조 하는 것만으로도 일을 시작할 수 있다. 그리고 게시판을 보지 않는 다면 일을 하지 않을 수도 있듯이 객체 안에 담겨져 있는 코드를 필요 할 때만 꺼내 쓸 수 있다. 지금... OOP코드스테이츠IM객체지향CODESTATESCODESTATES 자바와 객체 지향 그래서 객체 지향은 직관적이라고 할 수 있다. 그러나 객체 지향에서는 우리가 인지하는대로 작성하기 때문에 객체 지향은 직관적이라고 할 수 있다. 객체 지향의 각 특성들을 이해하기 위해서는 클래스와 객체의 관계에 대해서 이해해야 하는데 클래스는 분류에 대한 개념이고 객체는 실체라고 할 수 있다. 이때 상위 클래스로 갈수록 추상화, 일반화 됐다고 할 수 있고 하위 클래스로 갈수록 구체화, 특수화... OOPSpringboot객체지향Java스터디Java
[JAVA]객체지향(10): 팩토리 메소드 패턴, 람다식 저번 시간에 우리는 BeanFactory 클래스에서 싱글톤을 이용해 객체를 만들어 보았다. 위와 같이 객체를 2개 생성하지 않고 하나의 객체를 이용해 bf1, bf2를 만들었다. BeanFactory를 이용해 객체를 생성하기 BeanFactory 클래스에서 Bus()를 호출하는 getBus() 메소드를 만든다. 보통 Bus 객체를 만들때와 같이 직접 객체를 생성했었다. 하지만 위의 코드는 생... Java객체지향Java [JAVA]객체지향(8) : 인터페이스 만들어야 할 기능들을 관련된 것끼리 묶은 후 이름을 지어준다. [public] interface 인터페이스이름 {... 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract 이어야 한다.(JAVA 7까지는) final, abstract를 생략하면 자동으로 붙는다. LottoMachine 인터페이스를 만들어 보자. 1~45까지 써있... Java객체지향Java Spring 객체지향 원칙 Open-Closed Principle 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. 구현 객체를 변경 할 때 클라이언트 코드(interface부)를 변경해야하면 안된다. Dependency Inversion Principle 추상화에 의존해야지, 구체화에 의존하면 안된다. 클라이언트가 구현 클래스에 의존하지 말고, 인터페이... 객체지향SpringOOPOOP Java 프로그래밍 : 객체지향 (3) 상속 (extends) 상속을 사용하면 코드 중복을 제거하고, 기존 클래스를 확장하기 쉬워 프로그램 확장성을 증가시킬 수 있다. class A extends B {} 와 같은 형식으로 사용한다. B 클래스를 A가 상속받는 것이다. 이 경우 B가 부모 클래스, A가 자식 클래스가 된다. 해당 클래스의 필드는 물론이고 메소드를 그대로 사용할 수 있다. 업캐스팅이란, 자식 객체를 부모의 타입으로 ... 자바객체지향protected상속그룹화super인터페이스접근제어자업캐스팅오버라이딩다형성OOPJavaJava static 과 객체지향적 관점 Static Static 메서드 인스턴스를 생성하지 않고도 메모리에 할당시켜, 호출이 가능한 static 메서드가 된다. static 메서드 내에서는 인스턴스 멤버들을 직접 사용 할 수 없다. Static 멤버변수 (클래스변수) 때문에 원래 인스턴스 변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 갖지만, static 멤버변수는 인스턴스에 관계없이 같은 값을 갖는다. 자바 메모리 공... Javacleancode객체지향Java final 과 객체의 불변성 final : 마지막의, 변경될 수 없는 변수에 사용했을 시 값을 변경 할 수 없는 상수가 된다. 한번 입력한 값이 최종값 (static은 변경이 되더라도 항상 서로 같은 값을 share 개념) ( 이 기능을 활용하면 각 인스턴스마다 final이 붙은 멤버변수가 다른 값을 갖도록 하는 것이 가능하다 → 각자 생성자를 호출하니까) 객체에 사용했을 시 final 키워드는 값을 바꿀 수 없지만, ... Javacleancode객체지향Java 더 객체지향적인 Rails 다음과 같은 코드를 본 적이 있나? 아마 모든 코드가 그렇지는 않겠지만, 저런 코드를 본 적이 있을 것이다. 위 코드는 장황하고 읽기 어렵다. 또한 새로 기능추가를 하는 경우, 수많은 if~else 사이를 왔다갔다해야한다. 어떻게 고칠 수 있을까? 메소드의 이름인 role_name과 role_description에 힌트가 있다. 바로 Role이라는 PORO(Plain Old Ruby Obje... 객체지향Ruby on RailsOOPPOROOOP 컴포넌트와 객체지향적인 사고 객체지향 어디서 많이 들어본 말이다. 절차지향의 정의는 다음과 같다. 여기서 객체는 다음과 같이 생각해볼 수 있다. 사실 더 생각해보면 돈을 지불한다던지 포스기에 음료를 찍는다던지.. 이런 식으로 말이다. 앞서 커피를 주문하라는 메시지 때문에 손님이라는 객체가 불러진 것처럼 말이다. 그 중 추상화의 정의는 다음과 같다. ex) 배, 비행기, 기차, 자동차는 모두 운송수단이라는 이름으로 묶을 ... 객체지향객체지향 [개발일지 3월 25일] [공통교육-웹기초] JavaScript 3/3 - 이고잉 강사 → topics2란 변수에 'html', 'css', 'js' 저장 → topics2.length(3) 미만까지 for문 반복 수행 → 실행 결과값을 loop1.html 본문에 출력 → <li>${topics[i]}</li> (백틱과 $를 통해서도 나타낼 수 있음) → 이후 inputs를 치면 모든 input값이 출력 for(let i=0; i<inputs.lenth; i=i+1){ for(... functionJavaScript함수for문변수objectif문객체지향CSSloophtmlCSS [JAVA] 객체지향(4) - 패키지, 상속 좋은 객체란 역할과 책임에 충실하면서, 다른 객체와 잘 협력하여 동작하는 객체를 말한다. 반대로 나쁜 객체란 여러가지 역할을 한 가지 객체에게 부여하거나, 이름과는 맞지 않는 속성과 기능을 가지도록 하거나 제대로 동작하지 않는 객체를 말한다. 프로그램 언어의 다형성은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수,변수,식,오브젝트,함수,메소드 등... Java객체지향Java [JAVA] 객체지향(3) static이라는 키워드가 함께 사용되는 필드는 클래스 필드, 함께 사용되지 않는 필드는 인스턴스 필드라고 한다. 접근 제한자는 public, protected, 아무것도 없는 경우(default), private이 올 수 있다. 타입(type)은 기본형(boolean, byte, char, short, int, long, float, double)과 참조타입(class,인터페이스, 배열) ... Java객체지향Java 방학 불태우기 6 자바스크립트에서의 다양한 사용 방법은 참고 링크를 확인한다. 객체와 인스턴스를 같다고 볼 수 있지만 자세히 살펴보면 객체는 클래스에 따라 구현할 대상이 되는 것이고 인스턴스는 구현된 실체를 의미한다. 예를 들어 설명하면 어떤 건축물의 설계도를 클래스, 설계도를 통해 지을 건축물을 객체, 실제로 지은 건축물을 인스턴스 라고 볼 수 있다. 객체지향에서는 어떤 클래스가 다른 클래스를 상속받게 되면... 다형성상속객체지향객체지향 22. 2차원 배열 사용하기 이차원 이상으로 구현 된 배열 평면 (이차원 배열) 이나 공간(삼차원 배열)을 활용한 프로그램 구현... Java객체지향자바Java TLI- 50 primitive type primitive type 을 알아볼때는 ''-> 문자열안으로 넣으면 안된다! ##객체 생성자 함수로 객체 만들기 function 이름 () {} => new 이름 () 객체에 속성(property)추가하기 .prototype(원형) 상속을 받는다.... 객체지향자바스크립트객체지향 11. 캡슐화 (encapsulation) 꼭 필요한 정보와 기능만 외부에 오픈함 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현 하게 함 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화 한다.... Java객체지향자바Java API vs Framework vs Library 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 API에 따라 접근 권한이 필요할 수 있다. 예시 - Kakao Map API, java API, 여러 기업들의 오픈 API Library는 응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 높은 소프트웨어 단어 뜻대로 도서관으로 생각해보자면, 필요한 책(필요한 기능,함수)이 있다면 대여하기 ... OOP객체지향공통CS면접준비OOP 20210816 운영체제 = JRE(Java Runtime Environment : 자바 실행 환경) JDK는 자바 소스 컴파일러 javac.exe를 포함하고 JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있다. 모든 자바 프로그램이 반드시 포함하는 java.lang 패키지를 static 영역에 가져다 놓는다. 그 다음 JVM은 개발자가 작성한 모든 import 패키지와 클래스들을 static ... TIL객체지향알고리즘TIL 하루5분코딩"객체지향" ## 객체지향 : 하나의 모델이 되는 청사진(class)을 만들고 청사진을 바탕으로 한 객체(instance) 를 찍어낸다. - 속성과 메소드 클래스에 속성과 메소드를 정의하고 instance에 이용. ✓속성 ex)브랜드, 이름, 색, 최고속도 ✓메소드 ex)연료채우기, 속도정하기, 운전하기 - 클래스 : 속성의 정의 (ES5) •function 으로 선언 (ES6) •class로 선언 - ... JavaScript객체지향JavaScript [기본]객체지향 프로그래밍 실생활 객체를 모방하여 프로그래밍 하는 방법으로, 속성(변수)와 기능(메서드)를 갖는다. 자바는 객체 지향 언어로서 Class 를 통해 객체를 정의하고 생성하여 사용한다. 상속 : 부모 클래스로부터 상속한 클래스를 통해 세분화된 객체를 생성한다. 부모 참조변수가 자식 인스턴스 참조할 수 있는 것. 오버로딩을 통해 같은 이름의 메서드가 매개변수에 따라 다양한 기능 수행하도록 하는 것. 오버라이... 객체지향스프링_기본객체지향 객체 지향과 디자인 패턴 [인투북스] 객체는 자신만의 프로시저와 데이터를 가지며, 각 객체들은 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다. 위의 '추상 타입과 실제 구현의 연결' 예제 코드에서 createLogCollector() 메서드를 이용해서 알맞은 구현 클래스의 객체를 생성하는 것이 1번 방법을 사용한 것이라 볼 수 있다. 한 객체가 다른 객체를 조립해서 필드로 갖는다는 것은 기능을 사용한다는 의미로, 위에서는... 디자인패턴객체지향객체지향 객체지향 (01-14-2021) - 27일차 이것은 오직 자바스크립트를 위한 것만이 아닌 프로그래밍을 하는 모두에게 갖춰져야할 기본 같은 것이다. 그렇다 이처럼 직원이 소수인 경우는 한명한명씩 일을 지시하는 것은 크게 힘들지 않을 것이다. 이렇게 직원들은 게시판을 참조 하는 것만으로도 일을 시작할 수 있다. 그리고 게시판을 보지 않는 다면 일을 하지 않을 수도 있듯이 객체 안에 담겨져 있는 코드를 필요 할 때만 꺼내 쓸 수 있다. 지금... OOP코드스테이츠IM객체지향CODESTATESCODESTATES 자바와 객체 지향 그래서 객체 지향은 직관적이라고 할 수 있다. 그러나 객체 지향에서는 우리가 인지하는대로 작성하기 때문에 객체 지향은 직관적이라고 할 수 있다. 객체 지향의 각 특성들을 이해하기 위해서는 클래스와 객체의 관계에 대해서 이해해야 하는데 클래스는 분류에 대한 개념이고 객체는 실체라고 할 수 있다. 이때 상위 클래스로 갈수록 추상화, 일반화 됐다고 할 수 있고 하위 클래스로 갈수록 구체화, 특수화... OOPSpringboot객체지향Java스터디Java