Web Development 썸네일형 리스트형 [Java] 객체지향개념4 상속? 1. 상속 -기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것 -두 클래스를 조상과 자손으로 관계를 맺어주는 것 -자손은 조상의 모든 멤버를 상속받음 (생성자, 초기화블럭 제외) -> 골라서 받을 수 없음 -각 클래스의 생성자에는 자신에 정의된 멤버변수만을 초기화하는 코드 + 조상의 생성자를 호출하는 코드를 넣음 -자손의 멤버 개수는 조상보다 무조건 같거나 많음 class 자손클래스 extends 조상클래스 { // ... } 2. 1)클래스간의 관계 - 상속관계 -공통부분은 조상에서 관리하고 개별부분은 자손에서 관리하는 것이 좋음 -조상의 변경은 자손에 영향을 미치지만 자손의 변경은 조상에 아무런 영향 안미침 2)클래스간의 관계 - 포함관계 -포함이란 한 클래스의 멤버변수로 다른 클래스를 .. 더보기 [CS50] Week2: 컴파일링, Array, String 소스코드 -> 컴파일러 -> 머신코드 code hello.c // 소스코드 파일 생성 make hello // 컴파일 ./hello // 코드 실행 실제 컴파일링 과정 (1) Preprocessing (전처리 단계): 소스 코드에서 주석 제거, 매크로 확장 등의 작업을 수행. 전처리기는 #로 시작하는 지시문을 처리하여 소스 코드 수정. (2) Compiling (컴파일링): .c 파일을 컴파일러를 사용하여 목적 코드인 어셈블리 코드로 변환. (3) Assembling (어셈블링): 어셈블러를 사용하여 목적 코드를 기계어 코드로 변환. (4) Linking (링킹): 여러 목적 코드 파일과 라이브러리를 결합하여 실행 파일 생성. 링커가 최종적으로 실행 가능한 프로그램을 만듦. 배열, 문자열 -문자열은 실제.. 더보기 [Java] 캡슐화, TDA 원칙 자바의 정석 기초편 강의를 수강하던 중.. 캡슐화의 개념이 잘 이해가 안갔다. 캡슐화는 객체지향프로그래밍의 중요한 특성중 하나다. 자바의 정석 강의자료에 따르면, 캡슐화 - 접근제어자를 이용해서 멤버변수들은 private으로 해서 내부에 감추고 메서드들은 public으로 해서 외부에 노출시킴으로써 같은 클래스에 정의된 멤버들끼리는 서로 자유롭게 접근하고 외부에서는 메서드를 통해서만 멤버변수에 접근할 수 있는 구조로 만드는 것. - 외부에서는 객체의 노출된 public 메서드만을 호출할 수만 있을 뿐 실제 내부가 어떻게 되어 있는지 알 수 없음. 나의 의문은 이걸 왜 캡슐화라고 부르냐는 것. 그래서 캡슐화의 개념을 좀 더 찾아봤다. 캡슐화: 데이터와 메서드를 하나의 단위로 묶어 외부에서 직접 접근하지 못하.. 더보기 [CS50] Week 1: 데이터 타입, 연산자, 조건문, 반복문, 커맨드라인(CLI), 1주차 과제 Problem set 1 (1) Hello, world In a file called hello.c, in a folder called world, implement a program in C that prints hello, world\n, and that’s it! (2) Hello, it's me In a file called hello.c, in a folder called me, implement a program in C that prompts the user for their name and then says hello to that user. For instance, if the user’s name is Adele, your program should print hello, Adele\n.. 더보기 [Java] 객체지향개념3 생성자? 1. 생성자란? -인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' -인스턴스 변수의 초기화 또는 인스턴스 생성시 수행할 작업에 사용 -몇가지 조건을 제외하고는 메서드와 같음 -모든 클래스에는 반드시 하나 이상의 생성자가 있어야 함 *인스턴스 초기화: 인스턴스 변수에 적절한 값을 저장하는 것 Card c = new Card(); 코드가 실행될 때 (1) 참조변수 c가 선언됨 (2) 연산자 new에 의해서 Card 인스턴스가 생성됨 (3) 생성자 Card()가 호출되어 생성된 인스턴스의 초기화를 수행 (인스턴스의 생성은 생성자가 호출되기 이전 연산자 new에 의해 수행됨 생성자의 목적은 new 연산자에 의해 생성된 인스턴스의 인스턴스변수에 적절한 값을 저장하는 것) (4) new의 결과.. 더보기 [Java] 객체지향개념2 변수와 메서드? 1. 선언위치에 따른 변수의 종류 ▶ 인스턴스 변수 -각 인스턴스의 개별적인 저장공간 -인스턴스 생성 후 '참조변수.인스턴스변수명'으로 접근 -인스턴스를 생성할 때 생성되고 참조변수가 없을 때 가비지컬렉터에 의해 자동 제거됨 ▶ 클래스 변수 -같은 클래스의 모든 인스턴스들이 공유하는 저장공 -인스턴스 생성없이 '클래스이름.클래스변수명'으로 접근 -클래스가 로딩될 때 생성되고 프로그램이 종료될 때 소멸 ▶ 지역변수 -메서드 내에 선언되며 메서드의 종료와 함께 소멸 -조건문, 반복문의 블럭{} 내에 선언된 지역변수는 블럭을 벗어나면 소멸 *클래스변수와 인스턴스변수 사용 기준? 모든 객체가 공통적으로 가져야하는 특성의 경우 static을 붙여 클래스 변수로 선언 2. 메서드 ▶ 메서드란? -작.. 더보기 [Java] 객체지향개념1 객체지향언어? 1. 객체지향언어의 역사 절차방식의 프로그래밍 언어를 객체지향방식으로 극복하려고 탄생. = (기존의 절차지향적) 프로그래밍 언어 + 객체지향개념 2. 객체지향언어의 특징 ▶ 기존의 프로그래밍 언어 + 몇가지 규칙 추가된 형태 ▶ 코드의 재사용성이 높음 ▶ 코드의 관리가 쉬움 ▶ 신뢰성이 높은 프로그램의 개발을 가능하게 함 -> 코드의 중복, 코드의 불일치를 줄임. 재사용성이 높고 유지보수가 용이하다는 것이 가장 큰 장점 클래스와 객체? 1. 클래스와 객체의 정의와 용도 (1) 클래스 : 클래스란 객체를 정의해 높은 것 ▶ 객체를 생성하는 데에 사용됨 e.g. 제품 설계도, TV 설계도 (2) 객체 : 실제로 존재하는 것. 사물 또는 개념. ▶ 객체의 속성과 기능에 따라 다른 용도 e.g. .. 더보기 [이클립스] 이클립스 화면 아이콘 사이즈 변경 이클립스에서 코딩을 하려는데 노트북으로는 화면 아이콘 사이즈가 작아도 너무 작아서 저절로 거북목이 되는 느낌이었다. 이런 경우 화면 아이콘 크기를 변경하면 되는데 방법은 어렵지 않다. 1. eclipse 실행 파일이 저장된 폴더로 들어감 2. eclipse.ini 파일 열기 3. 파일 맨 밑에 아래 세 줄 추가 -Dswt.enable.autoScale=true -Dswt.autoScale=180 -Dswt.autoScale.method=nearest -Dswt.autoScale=180 이 옵션의 숫자를 원하는 크기로 조정하고 저장한 뒤 이클립스를 재시작하면 된다. 나의 경우에는 180 정도가 적당했음. 더보기 이전 1 2 3 4 5 다음 목록 더보기