본문 바로가기

전체 글133

[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 2 (변수와 메서드) 변수의 선언 위치에 따른 변수의 종류 변수는 클래스 변수, 인스턴스 변수, 지역 변수 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수가 선언된 위치'이므로 변수의 종류를 파악하기 위해서는 변수가 어느 영역에서 선언되었는지를 확인하는 것이 매우 중요하다. class Animal { String name; //인스턴스 변수 static int age; //클래스 변수(static 변수) void method() { int localVariable; //지역 변수 } } 변수의 종류 선언 위치 생성 시기 인스턴스 변수(instance variable) 클래스 영역 인스턴스가 생성되었을 때 클래스 변수(class variable) 클래스가 메모리에 올라갈 떄 지역 변수(local variable).. 2022. 7. 1.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 1 (객체지향언어, 클래스와 객체) 객체지향언어의 역사 객체지향 이론은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물 간의 상호작용이다.'라는 기본 개념을 가진다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓는다는 이론이다. 객체지향 이론이 발달하면서 상속, 캡슐화, 추상화 개념이 생겨났고, 이들이 점차 구체적으로 발전하면서 객체지향 이론을 프로그래밍 언어에 적용한 객체지향 언어가 탄생하게 되었다. 객체지향 언어란? 객체지향 언어는 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 언어라 할 수 있다. 이러한 규칙들은 코드들 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것을 가능하게 한다. 객체지향.. 2022. 6. 30.
[코딩 테스트/알고리즘] 알고리즘 공부 시작 뚱땅뚱땅 코딩 블로그의 새로운 컨텐츠 알고리즘 공부하기가 시작됐다. 최대한 오래 지속될 수 있도록 노력해보겠다. 알고리즘 우선 알고리즘이 무엇인지 부터 알아보자 알고리즘(영어: algorithm), 셈법은 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다. 프로그램명령어의 집합을 의미하기도 한다. [위키백과/ 알고리즘] 이게 무슨 소린가 싶겠지만 쉽게 이해할 수 있도록 현실 세계에서 비유할만한 것을 찾아보겠다. 알고리즘은 음식의 레시피와 비슷하다. 재료를 사용하여(입력을 받고) -> 레시피의 방법대로 요리(알고리즘으로 문제를 해결) -> .. 2022. 6. 29.
[전자기기 사용기/맥북 사용기] M1 맥북에 JAVA 11, MySQL 설치하기 이번 글에서는 맥북에 Java와 MySQL을 설치하는 법을 알아보겠다. Java 설치 다운로드 https://www.oracle.com/java/technologies/downloads/#java11 위 링크를 타고 오라클 홈페이지에 들어가서 설치하고자 하는 Java 버전을 다운로드한다. 나는 Java 11을 설치할 것이라 macOS용 DMG 설치 파일을 다운로드하였다. 설치 다운로드가 끝났으면 dmg 파일을 실행해서 설치를 진행한다. 설치가 끝났으면 터미널에 아래 경로로 가서 jdk 파일이 설치가 되었는지 확인한다. cd /Library/Java/JavaVirtualMachines 환경변수 설정 설치가 끝났으면 환경변수를 설정해줘야 한다. 터미널을 열고 vi ~/. bash_profile로 파일을 생성.. 2022. 6. 29.
[전자기기 사용기/맥북 사용기] 13인치 M1 맥북 외장 디스플레이 2대 연결하기 맥북을 사용한 지 3개월이 지났다. 이제 맥북에 적응도 어느 정도 됐고 오래 사용하다 보니 맥북에 대한 확실한 장단점을 깨달았다. 서론에 장단점을 다 적으면 말이 너무 길어질 테니 짧고 굵게 요약하자면 맥북은 "예쁘다고 사면 똥 되는 워크스테이션" 정도로 말할 수 있을 거 같다. 성능도 좋고 예쁘지만 사용하면서 불편한 것도 그만큼 많았기 때문이다. 나도 확고한 목적을 가지고 사지 않았으면 이 불편함 때문에 바로 내다 버렸을 거 같다. 오늘은 내가 맥북을 사용하면서 느낀 문제점 중에 하나를 해결해보고자 한다. 내가 생각했을때 13인치 m1 맥북에는 두 개의 큰 단점이 있다. 1. 극악의 포트 확장성 연결성...?? 13인치 M1 맥북은 제품 좌측에 C 타입 포트 두 개, 오른쪽에 3.5mm 이어폰 단자가 .. 2022. 3. 19.
[Java 공부/ 기타] 클래스 내에서 데이터에 제약조건 걸기 Time 클래스 안에서 private으로 hour, minute, second를 선언하여 클래스의 외부에서 접근할 수 없도록 하였다. 때문에 클래스 안의 변수들에 접근하기 위해서는 반드시 클래스 안의 메소드를 거쳐야 한다. class Time { //time 클래스 private int hour; //시 private int minute; //분 private float second; //초 } 아래 코드는 input을 입력받아 데이터의 유효성을 검증한 뒤 유효성 여부에 따라 hour의 값을 변경하는 메서드의 코드다. input이 '시'를 나타내기 때문에 입력된 데이터가 0~23의 범위 안에 있어야만 유효한 값으로 인정한다. public void setHour(int input) { //input에 대한.. 2022. 3. 8.