자바기반응용프로그래밍 - 객체 지향을 위한 클래스와 객체
·
Language/JAVA
캡슐화 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것. 외부의 접근으로부터 안전하게 보호하기 위해 필요 외부와의 접속을 위한 일부분은 공개 노출 가능 => 인터페이스 클래스 객체 모양을 선언 한 틀(캡슐) 필드(멤버 변수)와 메소드(멤버 함수)로 구성 객체 클래스 모양대로 생성된 실체(인스턴스) 치환 시 객체 자체가 아닌, 객체의 레퍼런스(포인터)가 복사됨 ex. 붕어빵 만드는 틀 - 클래스 팥붕 / 슈붕 / 치즈붕 - 객체 1,2,3.... 상속 서브 클래스(자식)가 슈퍼 클래스(부모)의 속성을 물려받고, 기능 확장 가능 다중상속 불가 (대신, 인터페이스 다중 상속 허용) 코드의 재사용 다형성 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현 메소드 오버로딩 : 클래스 내에서 같은 이..
자바기반응용프로그래밍 - 연산자, 조건문
·
Language/JAVA
자바 수식 연산자 증감: ++ -- 산술: + - * / % 시프트: >> >> 비교: > >= 자바 연산자 우선순위 () [] : 괄호 / 대괄호 ! ~ ++ -- : 부정, 증감연산자 * / % : 곱셈 / 나눗셈(몫, 나머지) 연산자 + - : 덧셈 / 뺄셈 연산자 > >>> : 비트 단위의 시프트 연산자 = : 관계 연산자 == != & : 비트 단위의 논리 연산자 ^ | && : 논리곱 연산자 || : 논리합 연산자 ? : : 조건연산자 = += -= *= /= %= true 따라서 논리합 연산자(둘 중 하나라도 true라면 true반환) => true => a = 3 비트 논리 연산 & : 논리곱(AND), 두 비트 모두 1일 경우에만 1 | : 논리합(OR), 두 비트 중 ..
자바기반응용프로그래밍 - 기본구조, 식별자, 데이터타입, 스캐너
·
Language/JAVA
자바 프로그램의 기본 구조 // hello.java public class Hello { public static int sum(int n, int m) { return n + m; } // main() 메소드에서 실행 시작 public static void main(String[] args) { int i = 20; int s; char a; s = sum(i, 10); // sum() 메소드 호출 a = '?'; System.out.println(a); // 문자 '?' 화면 출력 System.out.println("Hello"); // "Hello" 문자열 화면 출력 System.out.println(s); // 정수 s 값 화면 출력 } } class 이름 = 파일 이름 class 내 main은 ..
월간 독서 3월 - 팩트풀니스
·
Book
요즘 세상에서는 진심을 찾아보기 참 힘든 것 같다는 생각이 많이 든다. 특히 요즘 같이 비대면이 많아질수록 인터넷은 더 활발해질 수밖에 없고.. 그렇기에 더 체감되는 것 같다. ‘세상 좀 살만해졌다.’, ‘세상은 생각보다 괜찮다.’ 이런 말을 들은 기억이 꽤 오래 전이다. 사람들은 거리를 두고 서로 피하기 바쁘다. 그들은 편을 가르고 자기와 다른 생각을 가진 사람들에게 보이지 않는 칼을 꽂는다. 하지만 ‘팩트풀니스’를 읽고 내가 세상에 대해 조금은, 정말 조금은 오해하고 있지 않았는지 돌아볼 수 있었다. 팩트풀니스는 수치화된 통계자료가 얼마나 대중을 우매하게 만들 수 있는지 알려주고 있다. 한번쯤 세상 살기 퍽퍽하다고 느껴질 때 읽어보면 느끼는 게 많은 책인듯. 관점을 바꿔보자는 내용에서는 일부분 동의하..
생활코딩 JavaScript 객체지향 프로그래밍 (4)
·
Web/JavaScript
객체 간의 상속 var superObj = {superVal: 'super'}; var subObj = {subVal: 'sub'}; subObj.__proto__ = superObj; console.log('subObj.subVal =>', subObj.subVal); console.log('subObj.superVal =>', subObj.superVal); //.__proto__ : subObj의 부모를 superObj로! // 찾았는데 없다면, 부모에서 가져다 씀. subObj.superVal = 'sub'; console.log('superObj.superVal =>', superObj.superVal); // 자식 객체값을 바꿔도, 프로토 값은 바뀌지 않음. (얕은 복사같은 느낌!) // .b..