Polymorphism(다형성)

: 하나의 객체나 메서드가 여러 형태로 사용되는 특징

 

Late Binding

- 메서드의 정의와 메서드 실행을 연결시키는 것을 binding이라고 한다.

- 코드가 컴파일 시 binding 되는 경우를 early binding, run time시 binding 되는 것을 late binding 혹은 dynamic binding이라고 한다.

- Java는 late binding을 사용한다. (private, final, static method 는 제외)

 

final Modifier

- final 표기된 method는 오버라이드 될 수 없다. -> base class로 사용될 수 없다!

- final 이 표기된 경우 컴파일러가 early binding을 사용한다.

 

Late Binding with toString

Sale aSale = new Sale("tire gauge", 9.95);
System.out.println(aSale)

toString이 클래스에 정의되어있다면 객체가 System.out.println을 사용하여 올바르게 출력

-> tire gauge Price and total cost = $9.95 (late binding으로 동작)

 

public void println(Object theObject)
{
	System.out.println(theObject.toString());
}

println 메서드는 Sale 클래스가 존재하기 이전에 정의되어있다.

하지만 late binding으로 인해 Object 클래스의 toString이 아닌 Sale 클래스의 toString 메서드가 사용된다.

 

Upcasting and Downcasting

Upcasting : 파생 클래스의 객체가 기초 클래스의 변수에 할당되는 것

Sale saleVariable; //기초 클래스
DiscountSale discountVariable = new DiscountSale("paint", 15,10); //파생 클래스
saleVariable = discountVariable; 	//Upcasting
System.out.println(saleVariable.toString());

-> late binding으로 toString은 Discount 클래스에 정의된 것을 사용한다.

 

Downcasting : 기초클래스의 객체가 파생 클래스의 변수에 할당되는 것

discountVariable = (DiscountSale)saleVariable; // -> run-time error
discountVariable = saleVariable	//-> compiler error
Sale otheSale = (Sale)otherObject; // downcasting

 

clone Method

- 모든 객체는 Object 클래스의 clone 메서드를 상속받는다.

- clone은 기본적으로 얉은복사를 수행한다.

- 클래스가 copy constructor를 갖는 경우 clone 메서드는 copy constructor를 사용할 수 있다.

public Sale clone()
{
	return new Sale(this);
}

public DiscountSale clone()
{
	return new DiscountSale(this);
}

 

Abstract Classes(추상 클래스)

- 추상메서드를 선언하고 상속을 통해 자식클래스에서 메서드를 완성하도록 하는 클래스

- 추상메서드를 포함하는 클래스를 추상클래스라고 한다.

 

Abstract Method(추상 메서드)

- abstract 수식자를 사용한다.

- private로 사용할 수 없다.

- head 부분만 존재하고 body부분은 갖지 않는다.

public abstract class Employee
{
	private instanceVariable;
	public abstract double getPay();
}

 

'Development > OOP(Java)' 카테고리의 다른 글

Ch9. Exception Handling  (0) 2023.05.19
Ch6. Defining Classes(3)  (0) 2023.04.10
Project1 (Timetable application)  (0) 2023.04.05
Ch3. Flow of Control  (0) 2023.04.04
Ch5. Defining Classes(2)  (0) 2023.04.03

[태백3]

증자가 병이 들었을 때 제자를 불러 말했다. "내발과 손을 보거라. <시경>에 '두려워하고 삼가 깊은 못에 임하듯이 하며, 얇은 얼음을 밟듯이 하라'고 했는데, 이제야 내가 그것에서 벗어났음을 알겠노라, 제자들아."

 

증자는 효로 이름난 인물이다. 부모로부터 물려받은 몸을 소중히 잘 간수하는 것이 효도의 기본이라는 의미를 담고있다.

그것에서 벗어났다에서 그것이 의미하는 것이 몸을 소중히 잘 간수하는 것이다.

 

[태백6]

키가 여섯 자인 어린 임금을 맡길 수 있고, 백리 되는 땅을 맡길 만 하며, 큰 절개 문제에 대해서 (그 뜻을) 빼앗을 수 없는 사람이라면 군자라 할 수 있을까. 참으로 군자다운 사람이지.

 

죽고 사는 문제에 관하여 까지 뜻을 지키는 사람이 진정한 군자라는 의미를 담고 있다.

 

[태백9]

백성들은 따르게 할 수는 있지만, 그 이치를 알게 할 수는 없다.

 

백성의 상황에 지식수준, 기회 조건 등을 고려한 사회경제적 한계를 인식해야 한다는 주장과 함께 한탄의 표현이 드러남 -> 교육의 한계

 

[태백10]

용맹을 좋아하고 가난을 미워하면 난을 일으키게 된다. 사람이 불인함을 너무 심하게 미워해도 난을 일으키게 된다.

 

용맹스럽지만 가난을 견디지 못하는 성격을 가지면 혼란을 주동할 수 있다는 의미

-> 난을 없애기 위해서는 자신의 분수를 편안히 여기고 남을 너그럽게 받아들이는 자세가 필요하다.

 

[자한3]

삼으로 짠 관을 쓰는 것이 예법이지만 오늘날에는 명주를 쓰는데, 검소하구나. 나는 대중의 방식을 따르겠다. (신하가) 당 아래에서 절하는 것이 예법이지만 오늘날에는 당 위에서 절을 하는데, 교만하구나. 나는 아래에서 절하는 쪽을 따르겠다.

 

예의 근본 정신에 해가 없으면 세상 풍속을 따르고 해로우면 따르지 말라는 가르침

-> 옳고 그름을 판단하여 따르는 자세가 필요하다.

 

[자한7]

내가 아는 것이 있는가? 아는 것이 없다. 어떤 비천한 사람이라도 내게 물으면 텅 빈 것 같더라도 나는 양끝을 헤아려 힘껏 알려준다.

 

3가지 의미로 해석 가능

1. 질문하는 사람 -> 물음의 내용을 헤아려 힘껏 알려준다는 의미

2. 질문 -> 사리의 본말을 헤아려 힘껏 알려준다는 의미

3. 공자 -> 겸손한 태도로 공자가 아는 것을 모두 알려주겠다는 의미

 

[자한8]

봉황도 이르지 않고 황하에서 그림도 나오지 않으니, 나도 끝났구나.

 

순임금 때 봉황이 나타나 춤추고, 문왕 때는 기산에서 봉황이 울었다. 복희씨 때 황하에서 용마가 그림을 등에 지고 나왔다.

-> 공자는 평생을 새 시대의 도래를 고대하고 있었다.

 

[자한16]

공자께서 물가에서 말씀하셨다. "흘러가는 것이 이와 같구나. 밤낮으로 그치지 않는구나."

 

천지의 변함없는 흐름과 함께 공자의 학문하는 자세가 드러난다.

 

[자한25]

삼군에게서 장수를 빼앗을 수는 있지만, 필부에게서 뜻을 빼앗을 수는 없다.

 

폭력으로 복종을 이끌어 낼 수 없음을 의미하며 권력의 정당성, 신뢰의 중요성을 강조한다.

 

[향당12]

마구간에 불이 났다. 공자께서 조정에서 물러나와 말씀하셨다.

1. "사람이 다쳤느냐?" (그러고는) 말에 대해서는 묻지 않으셨다.

2. "사람이 다치지 않았느냐?" (하시고는) 말을 물으셨다.

 

1. 말은 재산으로 생명을 근심하고 재산의 손실은 언급하지 않는다는 의미

2. 왕양명의 설명 : 사람도 가축도 귀하게 여기지만 순서가 있다는 의미

 

생각해보기

공자는 어떤 사람이었을까?

: 공자는 본인만의 확고한 학문적 태도를 갖추고 흔들림 없이 자세를 지켜온 사람이다.

옳고 그름에 대한 판단의 기준이 확고하고 군자가 되기 위한 올바른 길을 추구한 인물이라고 생각된다.

인.예.효 와 같은 근본적인 것을 중요시하여 이를 바탕으로 군자가 되기 위한 길을 끝까지 걸어나간 인물로 생각된다.

 

 

 

 

 

 

 

 

 

 

 

'교양 > 논어' 카테고리의 다른 글

헌문,양화 편  (0) 2023.05.19
공야장, 자로 편  (2) 2023.05.15
위정편  (0) 2023.04.23
학이편  (1) 2023.04.23
옹야편  (0) 2023.04.14

[포시즌스호텔서울 아키라백 후기]

 

기념일을 맞아 아키라백을 다녀왔습니다.

적당한 식당을 찾다가 우연히 알게되어 검색 후 2주전 예약을 하였습니다!

예약은 전화로만 가능한 것 같습니다!

 

위치는 광화문역 근처 포시즌스호텔서울 건물 12층에 위치하고있습니다.

7번출구로 나와서 조금만 걸어가면 바로 있습니다😆

 

역시 고급호텔이라 로비 들어가는 순간부터 분위기가 압도되는 느낌이었습니다😅

12층에서 엘레베이터를 내리면 직원분이 안내해주십니다.

사진에 보이는 계단으로 통해 내려오면 홀자리가 마련되어있습니다.

층고가 있어서 뚫린듯한 느낌이 편하고 한층 더 고급스러운 느낌을 주는 것 같습니다!

룸도 마련되어있지만 최소주문 금액이 정해져있는것으로 알고있습니다😭

예약 시 쇼파좌석 배정을 희망했으나...

아무래도 4인석이라 다른 팀이 많은 경우 테이블석으로 배정되는 것 같습니다

(기대하고 갔었는데ㅠ.ㅠ😭)

테이블 좌석에 깔끔하게 세팅되어있었습니다🤤

기본으로 식전에 제공되는 관자 키위입니다.(새로웠습니다...촌놈이라...🙃)

코스로 많이 시키는 것 같은데 단품주문도 가능합니다!

고민을 하다가 먹어보고싶은 것만 단품으로 시키기로 했습니다!

아키라백의 시그니처 메뉴인 참치 피자와 한우타코입니다😋

참치피자 : 엄청 얇고 부드러웠습니다!

한우타코 : 식감부터 베인 양념이 최고였습니다.

코스 주문시 한우와 참치타코 반반으로 주문이 가능하다고 알고있는데...

단품은 그렇게는 안된다고합니다(참치타코는 다음기회에...!)

아키라백에 간다면 반드시 먹어야 할 메뉴 두가지라고 생각합니다.👍

바다장어와 민물장어로 구성된 장어롤입니다! 이름은 브라더프롬어나더마더😁

고소하고 부드러워 사르르 녹는 맛입니다!

접시 퀄리티도...아주 최고!

지도리 치킨과 크리스피 문어입니다!

지도리치킨은 부드럽게 요리되어 먹기좋았고 크리스피 문어는 소스에 찍어먹는 맛이 좋았습니다.

개인적으로 크리스피 문어는 맥주 안주로 너무 좋을 것 같은 맛이었습니다😊

기본적으로 초콜릿이 후식으로 제공됩니다!

단단해보이지만 매우 부드러운 초콜릿입니다🍫

녹차 아이스크림은 생일자 메모를 남기면 제공해줍니다!

(생일기념 방문하시는 분들은 예약시 메모 꼭 남기시길!)

 

고급스러운 느낌이라 기념일에 방문하기 정말 좋을 것 같습니다!

음식은 전체적으로 깔끔하고 개인적으로는 간도 정말 좋았습니다.

코스로 먹는 것도 좋을 것 같습니다👍

'Hobby > Food' 카테고리의 다른 글

그랜드하얏트호텔 TEPPAN 테판 방문 후기  (0) 2023.06.01
이속우화 천공  (2) 2023.04.17
강남역 목살 맛집 봉우이층집  (1) 2023.04.11

Java언어의 기원

: 1991년 Sun Microsystems의 James Gosling의 팀에 의해 탄생

 

초기에는 가전용품 프로그래밍 목적으로 고안되었다.

 

객체지향언어(Object-Oriented-Programming)

Java는 객체지향 언어로 객체들간의 상호작용을 통해 동작한다.

같은 종류의 객체는 같은 type을 같거나 같은 클래스내에 위치한다.

 

Java Application Programs

Java 프로그램에는 두가지가 있다.

1. application

- main 이라는 이름의 메서드를 가진 클래스를 통해 동작한다.

-Java Application이 실행되면 run-time 시스템이 자동으로 main 메서드를 실행시킨다.

-모든 Java Application은 main 메서드로 프로그램을 시작한다.

 

2.applets

- 웹 브라우저를 통해 프로그램이 실행된다.

-보안상 로컬 파일 시스템에 접근할 수 없다.

-항상 windowing interface를 사용한다.

 

System.out.println

Java 프로그램은 객체가 메서드를 통해 동작하며 실행된다.

 

System.out : 화면에 결과를 보내는 객체

println :  출력하는 메서드

-> System.out이라는 객체가 println이라는 메서드를 호출하여 동작

ex) System.out.println("Java is easy!")

 

Byte-Code and the Java Virtual Machine

대부분의 프로그래밍 언어는 high-level language를 직접 machine language로 변환한다.

하지만 Java 컴파일러는 Java 프로그램을 byte-code로 변환하고 이를 Java Virtual Machine이  machine language로 변환한다.

- byte code는 언어나 운영체제에 상관없이 동일한 형태로 존재하여 컴파일러만 있다면 어디서든 실행이 가능하다. (이식성)

 

Interpreter : Java byte-code를 machine language로 변환해주는 프로그램

 

Class Loader

Class : 객체를 만들기 위한 템플릿 개념

Java 프로그램은 독립적인 기능을 하는 클래스들로 구성되어있으며 서로 다른 클래스가 연결되어 프로그램 전체를 구성한다.

 

Class Loader : 프로그램 실행에 필요한 클래스의 byte-code를 연결하는 프로그램

 

클래스명은 해당 .java 파일명과 반드시 동일하다.

 

각 클래스는 javac 명령어로 컴파일된다. (javac 실행시 .java, .class 는 제외하고 클래스명만 입력 ex) java FirstProgram)

 

Identifiers

Identifier(식별자) 는 클래스,메서드,객체 등의 이름을 정의하는데 사용되는 문자열이다.

- 숫자로 시작할 수 없다.

- 알파벳,숫자, 언더바(_) 기호만 사용 가능하다.

- 식별자의 길이는 제한없다.

- 대소분자를 구분해서 사용한다.

 

Java에 이미 정의된 식별자는 사용 불가하다.

- public, class, void, static

 

라이브러리에 이미 정의된 식별자는 재정의는 가능하나 위험이 있어 사용하지 않는 것을 권장한다.

- System, String, println

 

Naming Conventions

1. 변수, 메서드, 객체의 이름은 소문자로 시작한다. 숫자를 포함하여 사용가능하다.

ex) topSpeed, bankRate1

 

2. 클래스의 이름은 대문자로 시작한다. (소문자로 사용해도 컴파일 오류가 발생하지 않는다.)

ex) FirstProgram, MyClass

 

Variable Declarations

Java 프로그램에서 변수는 반드시 사용되기 전에 선언되어야 한다.

기본 타입을 primitive types 라고 한다.

ex) int number1;

double number2;

Constant

Constant(상수) : 특정 값을 가지고 절대 변할 수 없다.

문자열 상수는 큰따옴표를 사용한다. ex) "Welcome to Java"

boolean type에는 true,false 두 가지가 존재하며 반드시 소문자로만 사용한다.

 

String Class

string 은 primitive type이 아닌 Java에서 미리 선언된 클래스이다.

ex) String ejava = "Java is too easy";

 

Concatenation : + 연산자를 사용하여 string을 연결할 수 있다. 개수제한은 없으며 모든 타입에 대해 결합 과정에서 string type으로 자동전환된다.

ex) "The answer is " + 512 -> "The answer is 512"

 

Comments

주석처리

// : 해당 줄을 주석으로 처리

/* */ : 블럭 단위로 주석 처리

 

 

 

 

 

 

 

 

 

 

[위정1]

정치를 덕으로 하는 것은 비유하면 '북극성이 자기 자리를 지키고 있고 뭇별은 그것을 떠받드는 것'과 같다.

 

임금이 도를 잘 잡고 있으면 정치가 잘 돌아간다는 의미이다.

북극성은 움직이지 않는 존재를 의미하며 임금의 '도'에 의한 이상적인 정치를 의미한다.

 

[위정20]

"백성이 공경심,충성심,자발성을 갖게 하려면 어떻게 하면 됩니까?"

"윗사람으로서 엄숙하게 하면 아랫사람이 공경할 것이요, 부모에게 효도하고 백성에게 자애로우면 백성이 마음을 다할 것이며, 착한 사람을 등용하여 능력 없는 사람을 가르치게 하면 자발적으로 복종하게 될 것입니다."

 

인격으로 하는 정치가 공자의 정치 핵심임을 알 수 있다. -> 덕으로 이끄는 정치

 

[위정3]

정치적 명령으로 이끌고 형벌로 다스리면 백성은 (법망을) 빠져나가면서 부끄러움을 모르지만, 덕으로 이끌고 예로 다스리면 부끄러워할 줄도 알고 (자기 잘못을 바로잡게도 된다.)

 

[위정21]

"선생님께서는 왜 정치를 하지 않으십니까?"

"<서경>에 이르기를 '효도하고 오직 효도하며, 형제와 우애하고, 정치에 (이것을) 베풀어라' 라고 했으니, 이것도 정치를 하는 것이다.

어찌 (벼슬해야만) 정치를 하는 것이겠는가."

 

질문의 정치는 벼슬같은 정치를 의미하며 공자는 효도하고 우애하는 것이 정치의 기본이라고 하였다.

 

'교양 > 논어' 카테고리의 다른 글

공야장, 자로 편  (2) 2023.05.15
태백.자한.향당 편  (1) 2023.05.07
학이편  (1) 2023.04.23
옹야편  (0) 2023.04.14
팔일편  (0) 2023.03.29

[학이1]

배우고 때때로 그것을 익히면 이 또한 기쁘지 않은가.

벗이 먼 데에서 찾아오면 이 또한 즐겁지 않은가.

남이 나를 알아주지 않아도 성내지 않으면/성나지 않는다면 또한 군자답지 않은가.

 

군자의 삶의 태도가 드러나는 대목이다.

마지막 구절에서는 공자가 자신을 알아주는 사람을 기다렸지만 평생 알아주지 않아도 끝까지 꺾이지 않고 노력한 사람이라는 점이 드러난다.

 

[학이2]

그 사람됨이 효성스럽고 우애가 있으면서도 윗사람을 범하는 자는 드물다. 윗사람을 범하기를 좋아하지 않으면서 난을 일으키는 자는 드물다. 군자는 근본에 힘쓰며 근본이 서면 도가 생겨난다. 효도와 우애란 아마도 인을 행하는 근본일 것이다.

 

공자는 춘추전국 시대의 사람으로 힘으로 다투던 시절이다. 다른 사람들은 힘에 집중하는 시대에 공자는 사람들을 효와 우애를 알고 인을 일개해야 '난'이 일어나지 않는다고 생각하였다.

 

[학이4]

증자가 말했다.

"나는 날마다 세 가지로 나 자신을 반성한다. 다른 사람을 위해 도모하는 데 진심을 다하지 않았는다. 벗들과 사귀면서 믿음이 없었는가. 전해 받은 것을 익히지 않았는가./익히지 않은 것을 전했는가.

 

믿음이란 말하는대로 행하는 것을 의미한다.

마지막 대목에서 나의 정체성을 확인해볼 수 있다.

 

[학이15]

"가난하면서도 아첨하지 않고, 부유하면서도 교만하지 않으면 어떻습니까?" "괜찮겠지만, 가난하면서도 도를 즐거워하고 부유하면서도 예를 좋아하는 것보다는 못하다."

"<시경>에서 '자르고 다듬듯이 하고, 쪼고 가는 듯이 한다' 라고 했는데, 이를 두고 한 말이군요." "사야, 이제와 너와 함께 시를 말할 만 하구나. 지난 것을 말해주니 다가올 것을 아는구나."

 

항상 끊임없이 더욱 노력하는 자세를 중요시 하는 공자의 생각이 드러난다.

 

 

'교양 > 논어' 카테고리의 다른 글

공야장, 자로 편  (2) 2023.05.15
태백.자한.향당 편  (1) 2023.05.07
위정편  (0) 2023.04.23
옹야편  (0) 2023.04.14
팔일편  (0) 2023.03.29

[이속우화 천공 후기]

 

그동안 한남 이속우화를 매번 도전하다가 번번히 실패 😭😭😭

이속우화는 처음으로 시도했는데 한번에 성공😝

예약은 캐치테이블로 진행하였고 현재는 매달 22일 5시에 예약진행중입니다 (팁은 네이버시간 틀어놓고 정각에 예약날짜 시간 선택하기)

스시 오마카세는 다녀봤지만 우마카세는 처음이라 더욱 기대하고 기다렸습니다😁

 

위치는 압구정역 4번출구 바로앞에 위치하고있습니다.

병원건물 6층에 위치하고 있었습니다! (압구정은 처음 가봤는데 성형외과를 비롯한 병원이 참 많네요...)

생각보다는 규모가 큰 느낌이었고 많은 팀을 받는 느낌이었습니다.

느낌상 대략 15~20팀은 되는듯한 느낌

 

깔끔하게 세팅이 되어있었습니다. 셰프님이 콜키지 와인을 준비해주시는 중이었습니다.👏

콜키지 한병까지는 무료인점이 메리트니 주위 와인샵에서 한병 준비해서 가는걸 추천드립니다!

이게 그 유명한 시그니처 자태(?)🤩🤩🤩

각 팀마다 돌며 사진찍을 시간을 주십니다!

육회 요리로 코스를 시작합니다.

처음에 우니와 트러플 추가 의사를 물어보시는데 우니만 추가 요청했습니다. (인당 1.5 추가비용)

사실 방문 전에 알아보았을때는 추가할지말지 고민했었는데...

올려주신 양을 보니 추가하길 잘했다는 생각뿐😆

다음으로는 당근요리(?)

근데 진짜 태어나서 처음 먹어보는 당근맛이었습니다.

당근이 이렇게 달고 맛있을수있다니...뿌려진 치즈랑 함께먹으면 진짜 감동적인 맛이었습니다.🤤

드디어 고기고기

등심부위와 부채살이 준비되었습니다.

요리마다 포토타임을 주셔서 편하게 사진찍을 수 있었습니다😃

미디움으로 구워진 등심과 부채살... (2인기준 양)

진짜 입에서 살살 녹습니다

보통 미디움으로 구워주시는 것 같지만 개인적으로는 미디움 레어로 부탁하셔도 좋을 것 같습니다!

다음으로 준비된 업진살

일본에서 먹은 야끼니꾸가 생각나는 비주얼

인당 3점씩 주셨는데 한 점은 그냥 주시고 두 점은 특제소스로 양념해서 주셨습니다!

아무튼 맛있음👍

미트파이

미트파이에 대한 편견이 있다면 바로 깰 수 있을 맛!

마지막 식사로 솥밥과 된장찌개를 준비해주십니다.

사실 이때는 취기가 올라와서 기억이 잘 안나지만 솥뚜껑의 소 모형이 기억납니다.

식사로 제공된 솥밥과 된장찌개

와인과 함께 먹어서 취기가 올라오고 있었는데 된장찌개 먹는 순간 속이 확 풀리는 느낌

솥밥은 고소하고 담백한 느낌!

밥 다 먹은 후에도 와인이랑 된장찌개를 계속 먹었습니다.

마지막 후식으로 제공된 망고

시원하고 달달한 망고였습니다!

 

마무리 후기

1. 양이 풍족하다는 느낌은 부족하지만 가성비인점을 생각하면 괜찮다!

2. 우마카세 입문자로서 다른 입문자에게도 추천할만하다!

3. 와인 콜키지 되는것은 메리트다. 꼭 와인 한병은 챙겨가자!

[옹야9]

단사표음 , 안빈낙도

 

어질구나 안회여! 한 그릇 밥과 한 표주박의 물로 누추한 곳에 사는구나. 사람들은 그 어려움을 견디지 못하나 안회는 그 즐거움을 고치지 않으니, 어질구나 안회여!

 

안회는 공자가 대견하게 생각하는 제자였다. 처음과 끝 부분에서 두번이나 감탄하는 것을 보아 안회를 대견하게 생각한 점을 엿볼 수 있다.

가난과 근심이라는 외적 환경과 도를 알고 배우는 내면의 즐거움을 대비하는 구절이다.

가난 등의 환경에 상관 없이, 즐거움이 자기 내면에 있는 경지에 이른 안회를 대견해하고 있다.

->어려움 속에서도 즐거움을 잃지 않고 만족하는 자세

 

[옹야10]

역부족

 

염구가 말했다. "선생님의 도를 기뻐하지 않는 것이 아니라 힘이 부족합니다." 공자께서 말씀하셨다. "능력이 부족한 사람이라면 중도에 그만둔다. 지금 너는 미리 한계를 짓고 있다."

 

힘껏 가다가 중간에 쓰러지는 것과 더이상 못간다고 한계를 긋고 가지 않는 것의 차이에 대해서 설명하고 있다.

역부족이란 것은 힘껏 가다가 중간에 쓰러지는 것이다.

공자는 염구에게 한계를 긋고 가지 않는 것에 대해 조언하고 있다.

-> 한계를 설정하지 않고 더 높은 목표를 향해 노력하고 발전하는 모습의 중요성

 

[옹야16]

문질빈빈

 

바탕이 꾸밈을 이기면 촌스럽고 꾸밈이 바탕을 이기면 공무원스럽다. 꾸밈과 바탕이 고루 어우러진 사람이라야 군자이다.

 

꾸밈이 바탕을 이긴다는 것은 영혼이 없고 진심이 없다는 의미이다.

즉 당시 관리들의 일에는 익숙하지만 성의가 부족한 모습을 설명하고 있다.

-> 군자는 겉으로 보이는 것 뿐만이 아니라 내면의 근본적인 가치를 가진 사람이다. 이러한 군자의 자세를 본받아야한다.

 

[옹야18]

안다는 것은 좋아하는 것만 못하고, 좋아하는 것은 즐기는 것만 못하다.

 

안다는 것 < 좋아하는 것 < 즐기는 것

공부, 인생의 심화 과정을 설명하는 구절이다.

장경부 : "오곡에 비유하면, 안다는 것은 먹을 만한 것임을 아는 것이고, 좋아한다는 것은 먹어서 즐기는 것이요, 즐긴다는 것은 즐겨 먹고 배부른 것이다."

-> 인간의 더 높은 가능성에 대해 열린 생각이 담긴 구절

 

[옹야21]

지자요수, 인자요산

 

지혜로운 사람은 물을 좋아하고, 인한 사람은 산을 좋아한다. 지자는 동적이고 인자는 정적이며, 지자는 즐기고 인자는 오래 산다.

 

주자 : 지자는 사리에 통달하여 막힘이 없는 것이 물과 같다. 인자는 의리에 편안하여 옮기지 않는 것이 산과 같다. 동적이면 속박되는 근심이 없어 즐겁고, 정적이면 떳떳함이 있어서 장수한다.

 

-> 지자와 인자의 서로 다른 삶의 방식을 설명하면서 두 가지 방식을 존중하고 수용하는 것이 중요하다.

 

[옹야28]

 

"만약 백성들에게 널리 은덕을 베풀어 많은 사람을 구제할 수 있다면 어떤가요, 그를 인하다 할 수 있을까요?"

"어찌 인이라고만 하겠느냐, 성이라고 할 것이다. 인한 자는 자기가 서고자 하는 곳에 남도 세워주고 자기가 통달하고자 하는 것을 남도 통달하게 한다. 가까운 데에서 비유를 찾을 수 있으면 그것이 인의 방법이라 할 수 있을 것이다."

 

1.  인한사람(인자)란? 자기가 서고자 하는 곳에 남도 세워주고 통달하고자 하는 것을 남도 통달하게 해주는 사람

2. 나의 소망으로 빗대어 남의 뜻을 알고 행동하는 것의 중요성 (가까운데서 비유를 찾을 수 있는 것)

3. 인자와 성자의 구분 -> 인의 의미를 완전히 깨닫고 행하면 그것이 성자가 되는 길인 것이다.

'교양 > 논어' 카테고리의 다른 글

공야장, 자로 편  (2) 2023.05.15
태백.자한.향당 편  (1) 2023.05.07
위정편  (0) 2023.04.23
학이편  (1) 2023.04.23
팔일편  (0) 2023.03.29

2달간의 바디프로필 기간이 끝난 후 드디어 고기를 먹으러 다녀왔습니다.

오랜만의 만나는 친구가 추천하는 강남역 근처 목살 맛집 봉우이층집! (친구피셜 먹어본 목살중 최고)

 

강남역과 신논현역 사이에 위치

골목에서 살짝만 올라가면 바로 보이는 봉우이층집!

잠깐이지만 가파른 언덕을 체감하였습니다ㅜ.ㅜ

화요일 6시쯤 갔더니 웨이팅을 하진 않았지만 나올때는 만석이었던 것 같아요!

주말에는 웨이팅이 있다고 합니다^__^

 

세팅된 기본 반찬! 개인적으로 고기먹을때 꼭 필요로 하는 것들로 구성되어있는 느낌이라 매우 만족했습니다.

무슨 탕인지는 모르겠으나 기본으로 제공되는 해산물이 들어간 탕(?) 도 좋았습니다!

 

먼저 목살4인분 삼겹살 1인분 주문했습니다.(목살이 맛있지만 삼겹도 맛보라는 의미에서...) 삼겹은 국내산, 목살은 이베리코입니다!

 

고기는 직접 구워주십니다! 이때부터 침고이기 시작 :)

 

목살은 두툼한 식감도 마음에 들었고 소고기 처럼 부드럽고 녹는 느낌이라 일품이었습니다.

목살이 강력한 탓인지 모르겠지만 개인적으로는 삼겹살을 시킬필요없이 목살만 시켜먹어도 더 좋을 것 같다고 생각했습니다.

목살이 정말 맛있어 1인분만 더 추가해서 먹었습니다. (아주 솔직하게는 삼겹대신 목살을 더 시킬걸 생각함ㅎ...)

 

특이한 이름의 항아리가위냉면도 궁금해서 맛보았습니다.

항아리가위냉면도 시원하고 고기와 함께 먹기 좋았습니다. 살짝 매콤하면서 시원한 인상이 강렬했던 것 같네요...

궁금하다면 시도해보는 것도 괜찮을 것 같습니다!

 

결론 : 목살이 정말 최고의 맛을 가진 목살이다. 밑반찬의 조화가 개인적으로 아주 만족스러웠다.(특히 명이나물이 같이 먹기 너무 좋음)

 

다음에 재방문 할 때에는 목살과 오늘 먹어보지 못한 꽂게라면을 같이 먹어보면 좋겠다고 생각함

'Hobby > Food' 카테고리의 다른 글

그랜드하얏트호텔 TEPPAN 테판 방문 후기  (0) 2023.06.01
포시즌스호텔서울 아키라백  (0) 2023.04.28
이속우화 천공  (2) 2023.04.17

Class Parameters

Java 의 parameter 는 call-by-value parameter 이다.

 - parameter 는 local 변수로 인자의 값과 같다.

 - 즉, parameter 의 값은 인자의 값을 변경할 수 없다.

Class type의 parameter 는 primitive type과 다르게 call-by-reference로 동작한다.

 

call-by-value : 값을 인자로 전달하는 방식

call-by-reference : 값을 전달하는 대신 주소값을 전달하는 방식

 

Class type의 parameter 에 연결된 값은 reference(memory 주소) 이다.

 - 매개변수는 인자의 다른 이름이 된다.

 - 여전히 call-by-value 이므로 class type parameter 자체에 대한 수정은 해당 인자를 변경하지 않는다.

 

<예시>

println은 String class를 인자로 가질 수 있다. anObject의 경우 string이 아닌 객체이지만 toString()을 자동으로 호출하여 string class type 인자로 가지도록 한다.

ToyClass의 changer를 호출하여 anObject 값을 Hot Shot 42 로 변경한다.

이때 anObject 는 객체에 대한 주소값을 갖고 있다.  changer 함수를 호출하는 경우 객체의 정보가 변경되는 것이다.

 

Differences Between Primitive and Class-Type Parameters

primitive type의 변수가 메서드에서 인자로 사용될 때 원래 값으로 변경될 수 없다.

하지만 인자로 사용되는 class type의 instance 변수값은 변경할 수 있다.

 

<예시>

1) object1.makeEqual(object2) ;  -> object2 내용이 object1 내용으로 수정된다. 즉, class type의 instance 변수값이 변경

2) object1.tryToMakeEqual(aNumber); -> aNumber 변수값 자체가 변경되지 않음, 42 값 그대로 갖고 있음

Use of = and == with Variables of a Class Type

class type의 변수와 사용하는 할당 연산자 (=) 는 동일한 객체의 이름을 지정하는 두 개의 변수를 생성한다.

 equality 검증 (==) 은 class type 변수에서 다르게 동작한다.

 - "==" 는 두 class type 변수가 같은 메모리 주소를 가리키는지 확인한다.

 - instance 변수의 값이 같은지 확인x

 - instance 변수 값이 같은 서로 다른 두 객체는 같지 않음을 확인 할 수 있다.

 

The Constant null

null 은 special constant 로 class 변수에 대입 가능하다. 값이 없다는 의미로 가리키는 객체가 없음을 의미한다. null 자체는 객체가 아니다.

-> equals를 사용하지 않고 ==, != 를 사용하여 null 값을 갖는지 확인한다.

 

The new Operator and Anonymous Objects

new operator 는 생성자를 호출하여 객체를 초기화한 후 객체가 생성된 위치의 메모리 주소를 반환해준다.

ex) ToyClass variable1 = new ToyClass("Joe", 42);

 

객체가 메서드의 인자로 임시적으로만 사용되는 경우가 있다. 이 경우 객체는 변수로 할당 될 필요가 없음

-> 이러한 객체를 anonymous object 라고 한다. 

 

Using and Misusing References

프로그램 작성 시 private  인스턴스 변수는 private 하게 보존해주는 것이 중요하다. 

primitive type 인스턴스 변수의 경우 private modifier 사용으로 privacy leaks를 막을 수 있다.

하지만 class type의 경우 private modifier 사용으로만으로는 privacy leaks를 막을 수 없다.

 

ex) 각 변수에 private 를 선언해준다

Copy Constructors

copy constructors 는 모든 인스턴스 변수를 수동으로 복사할 필요 없이 기존 객체의 복사본인 새 객체를 만드는 방법이다.

인스턴스 변수가 많은 복잡한 객체를 처리하는 경우 유용하게 사용 할 수 있다.

즉, 따로 객체를 만들어서 copy 하는 방식으로 기존 객체의 데이터는 변하지 않고 안전하게 복사 할 수 있다.

<예시>

 

Privacy Leaks

중요한 데이터가 외부 클래스에 노출되어 엑세스하거나 수정할 수 있는 경우 privacy leaks 문제가 생긴다.

다음 예시에서 getBirthDate() 메서드는 다른 클래스가 Date 객체를 직접 수정할 수 있도록하는 참조를 반환한다.

이 경우 Date 객체가 잘못된 값으로 수정될 수 있어 위험이 발생한다.

이런 문제를 방지하기 위해 실제 참조가 아니라 복사본을 반환하도록 하여 안전성을 보장한다. -> copy constructor 사용

 

<예시>

 

Mutable and Immutable Classes

Mutable class : 생성 후 수정이 가능한 객체

Immutable class : 생성 후 바꿀 수 없는 객체 -> string class는 immutable class

 

Deep Copy Versus Shallow Copy

Deep Copy 의 경우 모든 속성을 포함하는 새 객체를 만들고 참조하는 모든 속성을 복사한다.

즉, 자체 메모리 공간을 가진 새 객체를 생성하여 변경사항은 원래 객체에 영향을 주지 않는다.

 

Shallow Copy의 경우 새 객체를 생성하지만 참조하는 속성은 복사하지 않는다. 따라서 원래 객체와 동일한 속성의 참조를 포함한다.

따라서 새로운 메모리 공간을 생성하는 것이 아니기에 복사본의 변경사항은 원래 객체에 영향을 주어 보안 문제가 발생 할 수 있다.

 

Packages

Java는 라이브러리와 클래스로 구성된 packages 를 사용한다.

디렉터리, 폴더로 관리하여 import statement를 사용하여 프로그램 작성 시 사용할 수 있도록 한다.

 

ex) import java.util. * ; -> 해당 패키지의 모든 것을 import 한다

=> 컴파일 할 때 필요한 부분만 사용하므로 오버헤드 발생에 대한 문제를 고려하지 않아도 된다.

 

java.lang 은 기본적인 클래스를 포함한다. (Math, String, Wrapper class 등)

 

패키지 이름은 패키지 클래스를 포함하는 디렉토리 또는 하위 디렉토리의 경로 이름이다.

Java는 패키지의 디렉토리를 찾기 위해 패키지 이름과 CLASSPATH 환경변수 두 가지를 사용한다.

 

 

The Default Package

현재 디렉터리의 모든 클래스는 이름없는 패키지인 default package 라고 한다.

현재 디렉터리(.) 는 CLASSPATH 변수의 일부로 default package 의 모든 클래스는 자동적으로 프로그램에서 사용가능하다.

 

Name Clashes

다른 개발자들이 작성하는 경우 같은 이름의 클래스를 사용하는 경우가 있다.

이러한 경우 fully qualified name 을 사용하여 Name Clashes 문제를 해결 할 수 있다.

qualified name 을 사용하는 경우 class를 import 할 필요가 없다.

 

 

'Development > OOP(Java)' 카테고리의 다른 글

Ch9. Exception Handling  (0) 2023.05.19
Ch8. Polymorphism and Abstract Classes  (0) 2023.05.08
Project1 (Timetable application)  (0) 2023.04.05
Ch3. Flow of Control  (0) 2023.04.04
Ch5. Defining Classes(2)  (0) 2023.04.03

+ Recent posts