programming language28 [자바] 7강 배열과 ArrayList 07-1 배열이란? 07-2 다차원 배열 07-3 ArrayList 클래스 사용하기 07-4 배열 응용 프로그램 2023. 4. 19. [자바] 6강 클래스와 객체(2) 06-1 this 예약어06-2 객체 간 협력06-3 static 변수class Counter { static int count = 0; //static 변수이므로 Main 함수 외에서도 작동된다 //Counter 생성자 Counter() { count++; System.out.println(count); // this 제거 }}public class Main { public static void main(String[] args) { Counter c1 = new Counter(); Counter c2 = new Counter(); }}/*출력 결과12*/ 06-4 변수 유효 범위06-5 static 응용 .. 2023. 4. 19. [자바] 5강 클래스와 객체(1) 05-1 객체 지향 프로그래밍과 클래스05-2 클래스 살펴보기 05-3 메서드 05-4 클래스와 인스턴스 05-5 생성자생성자는 클래스 내부에서 메인 클래스로의 활용을 위해서 사용되는 요소이다. 공통되는 부분이 있는 생성자를 제외하고 나머지 생성자의 필드 선언은 this()를 이영하여 간소화할 수 있다.public class Main { public static void main(String[] args) { Car car1 = new Car("자가용"); System.out.println("car1.company : " + car1.company); System.out.println("car1.model : " + car1.model); System.out.pr.. 2023. 4. 19. [자바] 5강 클래스와 객체 05-1 객체 지향 프로그래밍과 클래스 05-2 클래스 살펴보기 05-3 메서드 05-4 클래스와 인스턴스 05-5 생성자 05-6 참조 자료형 05-7 정보 은닉 2023. 4. 13. [자바] 4강 조건문과 반복문 조건문 반복문 2023. 4. 13. [자바] 객체지향? OOP? = Scientific modeling 자바를 공부하면서 어느 정도 보다보면 SOLID 법칙이라는 내용이 있다. 면접이든 어떤 상황에서 항상 물어보는 내용이기도 하고, 간단한 것 같은데 꼭 추상적인 내용으로 외우기만 해서 그런지 까먹는 경우가 많다. 이전에 객체지향이 전통적인 과학적 모델링 과정을 이식한 것이라는 언급을 한 적이 있는데 실제 물리학에서 사용하는 과정에 비교해서 각 법칙들을 설명해봤다. 객체지향의 SOLID 원칙은 소프트웨어 디자인을 개선하고 유지보수성을 향상시키기 위한 5가지 원칙이다. 각각의 원칙은 과학적 모델링 방법론과 실제 공학에서의 예시와 연관성이 있다. 1. 단일 책임 원칙 (Single Responsibility Principle, SRP) - 한 클래스는 하나의 책임만 가져야 한다. 과학적 모델링 방법론에서도 한 .. 2023. 4. 8. [자바] version 확인하는 방법 Spring 프로젝트나 다른 어떤 작업을 할 때 먼저 자바의 version을 확인할 일이 많은데 이번에는 컴퓨터에 설치된 자바의 version을 확인하는 방법을 리뷰하고자 한다 그중에서도 이번엔 cmd로 자바 version을 확인하는 방법에 대해 소개하고자 한다 우선 명령 프롬포트를 켜서 java -version 을 입력해주면 된다 그러면 위와 같이 java version "11.0.16.1..." 이렇게 나오는 데 위의 사진 상으로 version은 java 11이라는 것을 알 수 있다 위와 같이 확인해보면 된다 2023. 3. 2. [C언어] 14강 구조체 14강 구조체 구조체란 간단한 변수나 배열로는 나타내기 어려운 데이터들을 나타내는 방법 코드로 예를 들어 보면,#include struct Point{ int x; int y;}p1, p2, p3;int main(){ p1.x = 100; p1.y = 0; p2.x = 0; p2.y = 100; p3.x = 100; p3.y = 100; printf("%d %d\n", p1.x, p1.y); printf("%d %d\n", p2.x, p2.y); printf("%d %d\n", p3.x, p3.y); return 0;}이러한 구조체 멤버 변수 출력을 할 수 있을 것입니다. 아래는 구조체 포인터를 가지고 출력하는 방법입니다. 위와 같이 여러 변수와 배열.. 2023. 2. 26. [C언어] 13강 파일 입출력 이진 모드는 0, 1로 구성된 파일 텍스트 모드는 문자로 구성된 파일 명령행 인자 int main(int argc, char *argv[]){...} 에서 argc, argv가 여기에 해당함 //argc는 두번째 인자인 argv의 크기를 의미 //argv[0]은 실행하는 프로그램의 패스를 의미하고 //argv[1], argv[2]... 순으로 첫째 인자, 둘째 인자 등을 나타낸다 int getc(FILE* stream); //getchar와 다른 점은 fp로 식별된 파일에서 문자를 추출 int putc(int character, FILE* stream); int putc(int character, FILE* stream); //putchar와 유사한 기능 가짐 //그러나 파일을 읽다가 끝에 도달하면 EO.. 2023. 2. 22. [C언어]12강 기억 클래스, 연결, 메모리 관리 저장 클래스는 객체 지향 프로그래밍에서 객체를 생성할 때 그 객체가 어떤 메모리 영역에서 살아남을지를 결정하는 방식 스코프는 하나의 변환 단위(파일) 내에서 변수나 함수의 유효 범위를 나타내는 개념 연결은 다른 스코프에 속하는 변수들을 서로 연결하는 것을 의미한다 ㄱ. 무연결 : 지역 변수가 가지는 특징이다 함수 영역인 block scope 내에 선언되어 있음 ㄴ. 내부 연결 : 하나의 파일에서만 사용 가능함 ㄷ. 외부 연결 : 여러 파일에서 사용 가능함 자동 변수 블록 내에서 선언된 변수를 의미하며 블록의 실행이 끝나면 메모리에서 사라짐 레지스터 변수 CPU 레지스터에 저장되어 신속하게 접근 가능함 레지스터에 저장할 수 있는 조건이 매우 제한적이기 때문에 자동 변수로 보내는 경우 있음 정적 변수 프로그.. 2023. 2. 17. 이전 1 2 3 다음